11 停止守护式容器要停止守护式容器,只需要执行docker stop命令,如代码清单3-25所示。 代码清单3-25 停止正在运行的Docker容器
当然,也可以用容器ID来指代容器名称,如代码清单3-26所示。 代码清单3-26 通过容器ID停止正在运行的容器
要想查看已经停止的容器的状态,则可以使用docker ps命令。还有一个很实用的命令docker ps -n x,该命令会显示最后x个容器,不论这些容器正在运行还是已经停止。 12 自动重启容器如果由于某种错误而导致容器停止运行,我们还可以通过--restart标志,让Docker自动重新启动该容器。--restart标志会检查容器的退出代码,并据此来决定是否要重启容器。默认的行为是Docker不会重启容器。 代码清单3-27是一个在docker run命令中使用—restart标志的例子。 代码清单3-27 自动重启容器
在本例中,--restart标志被设置为always。无论容器的退出代码是什么,Docker都会自动重启该容器。除了always,我们还可以将这个标志设为on-failure,这样,只有当容器的退出代码为非0值的时候,才会自动重启。另外,on-failure``还接受``一个可选的重启次数参数,如代码清单3-28所示。 代码清单3-28 为on-failure指定count参数
这样,当容器退出代码为非0时,Docker会尝试自动重启该容器,最多重启5次。
13 深入容器除了通过docker ps命令获取容器的信息,我们还可以使用docker inspect``来获得更多的容器信息,如代码清单3-29所示。 代码清单3-29 查看容器
docker inspect命令会对容器进行详细的检查,然后返回其配置信息,包括名称、命令、网络配置以及很多有用的数据。 我们也可以用-f或者--format标志来选定查看结果,如代码清单3-30所示。 代码清单3-30 有选择地获取容器信息
上面这条命令会返回容器的运行状态,示例中该状态为false。我们还能获取其他有用的信息,如容器IP地址,如代码清单3-31所示。 代码清单3-31 查看容器的IP地址
我们也可以同时指定多个容器,并显示每个容器的输出结果,如代码清单3-32所示。 代码清单3-32 查看多个容器
我们可以为该参数指定要查询和返回的查看散列(inspect hash)中的任意部分。
14 删除容器如果容器已经不再使用,可以使用docker rm命令来删除它们,如代码清单3-33所示。 代码清单3-33 删除容器
目前,还没有办法一次删除所有容器,不过可以通过代码清单3-34所示的小技巧来删除全部容器。 代码清单3-34 删除所有容器
上面的docker ps命令会列出现有的全部容器,-a标志代表列出所有(all)容器,而-q标志则表示只需要返回容器的ID而不会返回容器的其他信息。这样我们就得到了容器ID的列表,并传给了docker rm命令,从而达到删除所有容器的目的。 小结在本章中我们介绍了Docker容器的基本工作原理。这里学到的内容也是本书剩余章节中学习如何使用Docker的基础。 本文摘自《第一本Docker书》 (责任编辑:IT) |