聊一聊容器暂停退出

1

背景介绍       

最近在写 docker 相关教程,过程中发现容器暂停退出竟然有 docker kill、docker stop 和 docker pause 三种方式,今天就来分析下三者间的区别。

2

辅助指令       

  • docker top - 查看容器进程

  • docker event - 查看容器相关事件

  • docker stats - 查看容器资源使用率

3

准备工作       

1. 启动容器

先分别启动三个容器:

docker run --name nginx-kill -d nginx
docker run --name nginx-stop -d nginx
docker run --name nginx-pause -d nginx

6083a59ef2479a4b04140e2a2f6a2f85.png

2. 查看容器进程

docker top nginx-kill
docker top nginx-stop
docker top nginx-pause

1257e18c52a05e9fff1ef4cda10ae14b.png

3. 查看资源使用

docker stats nginx-kill nginx-stop nginx-pause

f2794109b6533de08c7c16f0b77b5c3d.png

4. 打开事件监听

docker events

6c73384ef029df1fade32027f7353b5b.png

4

开始分析       

1. docker kill

docker kill nginx-kill
docker top nginx-kill
docker stats nginx-kill
docker ps -a

10b94efb024127896474472329c4fe0a.png

docker top 指令报错,CPU 和内存使用率为 0,容器状态为 Exited,退出码为 137。

相关事件:

b888d8d60a073c802abcea65911c360a.png

kill -> die

2. docker stop

docker stop nginx-stop
docker top nginx-stop
docker stats nginx-stop
docker ps -a

d1e5b17bbe7f4bcacd6aa0b48db663a1.png

docker top 指令报错,CPU 和内存使用率为 0,容器状态为 Exited,退出码为 0。

相关事件:

9030b03ea88554528b61026b84652451.png

kill -> die -> stop

3. docker pause

docker pause nginx-pause
docker top nginx-pause
docker stats nginx-pause
docker ps -a

b1333f9584f052f565b70bb576be817b.png

docker top 指令正常,CPU 使用率为 0,内存使用率大于 0,容器状态为 Pause。

相关事件:

1fdce26cc4331e6472debe4ed9b321ca.png

4

结果分析       

82f07fe38935b79d18bbf1b7ebe63a6e.png

5

参考总结       

以上就是本文希望分享的内容,如果大家有什么问题,欢迎在公众号 - 跬步之巅留言交流。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值