3.1 确保Docker已经就绪
查看docker是否正常工作:
sudo docker info docker stop命令会向Docker容器进程发送SIGTERM信号。如果想快速停止某个容器,也可以使用docker kill命令来向容器进行发送SIGKILL信号。
3.14 自动重启容器
如果由于某种错误而导致容器停止运行,还可以通过--restart
标志,让Docker自动重新启动该容器。--restart
标志会检查容器的退出代码,并据此来决定是否要重启容器。默认的行为是Docker不会重启容器。
代码清单3-30 自动重启容器
sudo docker run --restart=always --name daemon_zifeiy -d ubuntu /bin/sh "while true; do echo hello world; sleep 1; done"
在本例中,--restart
标志被设置为always
。无论容器的退出代码是什么,Docker都会自动重启该容器。除了always
,还可以将这个标志设为on-failure
,这样,只有当容器的退出代码为非0值的时候,才会自动重启。另外,on-failure
还接受一个可选的重启次数参数,如代码清单3-31所示。代码清单3-31 为on-failure指定count参数
--restart=on-failure:5
这样,当容器退出代码为非0时,Docker会尝试自动重启该容器,最多重启5次。
3.15 深入容器
除了通过docker ps
命令获取容器的信息,还可以使用docker inspect
来获得更多的容器信息:代码清单3-32 查看容器
sudo docker inspect daemon_zifeiy
docker inspect
命令会对容器进行详细的检查,然后返回其配置信息,包括名称、命令、网络配置以及很多有用的数据。也可以用-f
或者--format
标志来选定查看结果:代码清单3-33 有选择地获取容器信息
sudo docker inspect --format='{{ .State.Running }}' daemon_zifeiy
false
上面这条命令会返回容器的运行状态,示例中该状态为false。我们还能回去其他有用的信息,如容器IP地址:代码清单3-34 查看容器的IP地址
sudo docker inspect --format '{{ .NetworkSettings.IPAddress }}' daemon_zifeiy
172.17.0.2
也可以同时指定多个容器,并显示每个容器的输出结果:代码清单3-35 查看多个容器
$ sudo docker inspect --format '{{.Name}} {{.State.Running}}' \
daemon_zifeiy zifeiy_the_container
/daemon_zifeiy false
/zifeiy_the_container false
所有的Docker容器都保存在/var/lib/docker/containers
目录下。
3.16 删除容器
如果容器不再使用,可以使用docker rm
命令来删除它们:代码清单3-36 删除容器
sudo docker rm 80430f8d0921
代码清单3-37 删除所有容器
sudo docker rm `sudo docker ps -a -q`