容器常用操作 - 每天5分钟玩转 Docker 容器技术(25)
2017-06-07 06:37
609 查看
前面讨论了如何运行容器,本节学习容器的其他常用操作。
通过
容器在 docker host 中实际上是一个进程,
SIGTERM 信号。如果想快速停止容器,可使用
SIGKILL 信号。
对于处于停止状态的容器,可以通过
容器可能会因某种错误而停止运行。对于服务类容器,我们通常希望在这种情况下容器能够自动重启。启动容器时设置
有时我们只是希望暂时让容器暂停工作一段时间,比如要对容器的文件系统打个快照,或者 dcoker host 需要使用 CPU,这时可以执行
处于暂停状态的容器不会占用 CPU 资源,直到通过
使用 docker 一段时间后,host 上可能会有大量已经退出了的容器。
这些容器依然会占用 host 的文件系统资源,如果确认不会再重启此类容器,可以通过
docker rm -v $(docker ps -aq -f status=exited)
顺便说一句:
一下学了这么多操作,很有必要做个总结。下一节我们会用一张图来描述容器的状态机。
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 容器技术(25)
- 容器常用操作 - 每天5分钟玩转 Docker 容器技术(25)
- Docker 最常用的监控方案 - 每天5分钟玩转 Docker 容器技术(78)
- 一张图搞懂容器所有操作 - 每天5分钟玩转 Docker 容器技术(26)
- 一张图搞懂容器所有操作 - 每天5分钟玩转 Docker 容器技术(26)
- 一张图搞懂容器所有操作 - 每天5分钟玩转 Docker 容器技术(26)
- Dockerfile 常用指令 - 每天5分钟玩转 Docker 容器技术(16)
- Docker 最常用的监控方案 - 每天5分钟玩转 Docker 容器技术(78)
- 一张图搞懂容器所有操作 - 每天5分钟玩转 Docker 容器技术(26)
- Dockerfile 常用指令 - 每天5分钟玩转 Docker 容器技术(16)
- Dockerfile 常用指令 - 每天5分钟玩转 Docker 容器技术(16)
- Docker 最常用的监控方案 - 每天5分钟玩转 Docker 容器技术(78) 推荐
- Docker 最常用的监控方案 - 每天5分钟玩转 Docker 容器技术(78)
- Dockerfile 常用指令 - 每天5分钟玩转 Docker 容器技术(16)
- 调试 Dockerfile - 每天5分钟玩转 Docker 容器技术(15)
- RUN vs CMD vs ENTRYPOINT - 每天5分钟玩转 Docker 容器技术(17)
- Docker 组件如何协作?- 每天5分钟玩转容器技术(8)
- Docker 架构详解 - 每天5分钟玩转容器技术(7)
- Docker 架构详解 - 每天5分钟玩转容器技术(7)