在 Ubuntu 中用 Docker

安装 Docker
apt install docker*

使用
搜索一个基本 image
docker search ubuntu

通过网络下载 Docker 镜像
docker pull ubuntu

如果你没有网络,或者从其他私服获取镜像
docker pull dl.dockerpool.com:5000/mongo:latest

查看所有已下载的images
docker images

启动 Docker 里面的 Ubuntu 系统。最后的参数“/bin/bash”表示一旦容器启动,首先会执行简单的 bash
docker run -i -t ubuntu /bin/bash
docker run -i -t –name mytest centos:centos6 /bin/bash
上面的–name参数可以指定启动后的容器名字,如果不指定则docker会帮我们取一个名字。

当你输入 Exit 命令退出容器时,容器也是停止运行,如果你想容器在后台运行需要在命令后面添加 -d 参数。
docker run -i -t -d ubuntu /bin/bash

要开启指定版本的系统,比如 Ubuntu 13.04,你可以使用下面的命令
docker run -i -t ubuntu:13.04 /bin/bash

查看容器的变化信息
docker diff contentname

创建新镜像
docker commit contentname newnewcontent2
这时就在本地创建了一个仓库名为newnewcontent2,tag值为默认为latest的镜像。
规范的镜像名应该为:
[username/]repositoryName[:tagName]
如:docker commit newcontent jeme/myubuntu:1.0
如果没有tagName,则默认为latest。
注意:如果需要把该镜像提交到dokcer hub中心,则必须规范命名(必须是 用户名/仓库名,tag可以缺省),前面的用户名是在dokcer hub上注册的用户名。

看到容器在后台运行
docker ps

连接你的容器 shell
docker exec -i -t NAMES/ContainerID

停止容器而不将其删除,可以用命令重新启动它
docker stop NAME/ContainerID
docker start NAME/ContainerID

删除容器,先停止它,然后用命令将其删除
docker rm NAME/ContainerID

删除镜像
docker rmi 镜像名/ID

images 导出
docker save -o /home/user/images/ubuntu_14.04.tar ubuntu:14.04

images 导入
docker load –input ubuntu_14.04.tar

Container 容器网络设置
Docker 使用 Linux 桥接技术与其他容器通信,以及连通外网。安装完 Docker 后你应该可以看到 docker0 这个网桥,这是 Docker 默认创建的。你创建的每个容器都会通过这个网桥连接到网络。

自定义 Linux 网桥
如果你想自定义网桥,你可以执行以下步骤。你可以在这个网桥后面分配一个子网,并为这个子网分配地址。下面的命令会为 Docker 子网分配 10.0.0.0/24 地址段
$ sudo apt-get install bridge-utils
$ sudo brctl addbr br0
$ sudo ifconfig br0 10.0.0.1 netmask 255.255.255.0
然后在 /etc/default/docker.io 文件的 DOCKER_OPTS 变量里添加“-b=br0”选项,并重启 Docker 服务:
$ sudo service docker.io restart
到目前为止,任何创建的容器都会连上 br0 网桥,它们的 IP 地址会从 10.0.0.0/24 中自动分配(译注:在10.0.0.2到10.0.0.254之间随机分配)。

其他自定义设置
可以通过 /etc/default/docker.io 文件的 DOCKER_OPTS 变量设置其他一些属性:
“-dns 8.8.8.8 -dns 8.8.4.4”: 为容器指定 DNS 服务器。
“-icc=false”: 将容器与其他容器隔离出来

Leave a Reply

Your email address will not be published. Required fields are marked *