Technology and experience learned from THE DOCKER BOOK 3
使用第一个容器
docker run -i -t ubuntu /bin/bash
命令后,就会下载该镜像并保存到本地宿主机中。
随后,Docker在文件系统内部用整个镜像创建了一个新容器。该容器拥有自己的网络、IP地址,以及一个用来和宿主机进行通信的桥接网络接口。最后,我们告诉Docker在新容器中要运行什么命令,在本例中我们在容器中运行/bin/bash命令启动了一个Bash shell。
当容器创建完毕之后,Docker就会执行容器中的/bin/bash命令,这时就可以看到容器内的shell了。下图使用hostname
命令查看。可以看到,容器的主机名就是该容器的ID。
- 检查容器的/etc/host文件
cat /etc/hosts
Docker已在hosts文件中为该容器的IP地址添加了一条主机配置项。
- 在第一个容器中安装软件包
apt-get update &&apt-get install vim
通过上述命令,就在容器中安装了Vim软件
- 用户可以继续在容器中做任何自己的事情。当所有工作都结束时,输入exit,就可以返回Ubuntu宿主机的命令行提示符了。
- 问题:这个容器现在怎样了?
容器现在已经停止运行了!只有在指定的/bin/bash命令处于运行状态的适合,我们的容器也才会相应的处于运行状态。一旦退出容器,/bin/bash命令也就结束了,这时容器也随之停止了运行。
但容器仍然是存在的,可以用docker ps -a
命令查看当前系统容器的列表
当执行docker ps命令时,只能看到正在运行的容器。如果指定-a
标志的话,那么命令会列出所有容器,包括正在运行和已经停止的。
容器命名
Docker 会为我们创建的每一个容器自动生成一个随机的名称。例如,上面我们刚刚创建的容器就被命名为cb514e4915aa。如果想为容器指定一个名称,而不是使用自动生成的名称,则可以用--name
标志来实现
docker run --name bob_the_container -i -t ubuntu /bin/bash
上述命令将会创建一个名为bob_the-container的容器。一个合法的容器名称只能包含以下字符:
小写字母、大写字母、数字、下划线、圆点、横线
重新启动已经停止的容器
- bob_the_container 容器已经停止了,如果愿意,我们可以用厦门的命令重新启动一个已经停止的容器
docker start bob_the_container
也可以使用容器id来指定容器docker start 4c1335c3594e
docker restart
命令可以重启一个容器
- 这时,运行不带-a标志的docker ps命令 就可以看到我们的容器已经开始运行了
本作品采用《CC 协议》,转载必须注明作者和本文链接