容器常用操作 - 每天5分钟玩转 Docker 容器技术(25)

Posted CloudMan

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了容器常用操作 - 每天5分钟玩转 Docker 容器技术(25)相关的知识,希望对你有一定的参考价值。

前面讨论了如何运行容器,本节学习容器的其他常用操作。

stop/start/restart 容器

通过 docker stop 可以停止运行的容器。

技术分享

容器在 docker host 中实际上是一个进程,docker stop 命令本质上是向该进程发送一个 SIGTERM 信号。如果想快速停止容器,可使用 docker kill 命令,其作用是向容器进程发送 SIGKILL 信号。

技术分享

对于处于停止状态的容器,可以通过 docker start 重新启动。

技术分享

docker start 会保留容器的第一次启动时的所有参数。

docker restart 可以重启容器,其作用就是依次执行 docker stop 和docker start

容器可能会因某种错误而停止运行。对于服务类容器,我们通常希望在这种情况下容器能够自动重启。启动容器时设置 --restart 就可以达到这个效果。

技术分享

--restart=always 意味着无论容器因何种原因退出(包括正常退出),就立即重启。该参数的形式还可以是 --restart=on-failure:3,意思是如果启动进程退出代码非0,则重启容器,最多重启3次。

pause/unpause 容器

有时我们只是希望暂时让容器暂停工作一段时间,比如要对容器的文件系统打个快照,或者 dcoker host 需要使用 CPU,这时可以执行 docker pause

技术分享

处于暂停状态的容器不会占用 CPU 资源,直到通过 docker unpause 恢复运行。

技术分享

删除容器

使用 docker 一段时间后,host 上可能会有大量已经退出了的容器。

技术分享

这些容器依然会占用 host 的文件系统资源,如果确认不会再重启此类容器,可以通过 docker rm 删除。

技术分享

docker rm 一次可以指定多个容器,如果希望批量删除所有已经退出的容器,可以执行如下命令:

docker rm -v $(docker ps -aq -f status=exited)

技术分享

顺便说一句:docker rm 是删除容器,而 docker rmi 是删除镜像。

一下学了这么多操作,很有必要做个总结。下一节我们会用一张图来描述容器的状态机。

技术分享



以上是关于容器常用操作 - 每天5分钟玩转 Docker 容器技术(25)的主要内容,如果未能解决你的问题,请参考以下文章

如何运行容器?- 每天5分钟玩转 Docker 容器技术(22)

如何配置 Health Check?- 每天5分钟玩转 Docker 容器技术(107)

Docker 镜像小结 - 每天5分钟玩转 Docker 容器技术(21)

Docker 镜像小结 - 每天5分钟玩转 Docker 容器技术(21)

监控利器 sysdig - 每天5分钟玩转 Docker 容器技术(79)

监控利器 sysdig - 每天5分钟玩转 Docker 容器技术(79)