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
2.?查看容器進程
docker top nginx-kill
docker top nginx-stop
docker top nginx-pause
3.?查看資源使用
docker stats nginx-kill nginx-stop nginx-pause
4. 打開事件監聽
docker events
4
開始分析? ? ? ?
1.?docker kill
docker kill nginx-kill
docker?top?nginx-kill
docker?stats?nginx-kill
docker?ps?-a
docker top 指令報錯,CPU 和內存使用率為 0,容器狀態為?Exited,退出碼為 137。
相關事件:
kill?->?die
2.?docker stop
docker?stop?nginx-stop
docker top nginx-stop
docker stats nginx-stop
docker ps -a
docker top 指令報錯,CPU?和內存使用率為 0,容器狀態為 Exited,退出碼為 0。
相關事件:
kill ->?die?->?stop
3.?docker pause
docker pause nginx-pause
docker top nginx-pause
docker stats nginx-pause
docker ps -a
docker top 指令正常,CPU?使用率為?0,內存使用率大于?0,容器狀態為 Pause。
相關事件:
4
結果分析? ? ? ?
5
參考總結? ? ? ?
以上就是本文希望分享的內容,如果大家有什么問題,歡迎在公眾號 - 跬步之巔留言交流。