聊一聊容器生命週期
容器生命週期
上圖已經非常清晰地闡述了容器的生命週期,接下來就簡單介紹下相關操作指令。
- 創建容器
docker create --name <container-name> <image-name>
創建容器並等待運行。
- 運行容器
docker run -d --name <container-name> <image-name>
其中 -d 表示後臺運行。
- 暫停容器
docker pause <container-id/name>
- 取消暫停
docker unpause <container-id/name>
- 啓動容器
docker start <container-id/name>
- 停止容器
docker stop <container-id/name>
- 重啓容器
docker restart <container-id/name>
- 殺死容器
docker kill <container-id/name>
- 銷燬容器
docker rm <container-id/name>
Docker Run 工作流程
- 拉取鏡像
檢查本地是否存在 docker run 指定的鏡像,不存在會去 docker hub 下載,存在則直接用來創建容器。
- 創建容器
鏡像準備就緒後,基於該鏡像創建容器。
- 分配文件系統
容器被分配到文件系統,並添加一個讀寫層。
- 創建網絡接口
創建一個網絡接口,實現容器和宿主機通訊。
- 分配 IP 地址
從 IP 資源池查找可用 IP 並附加給容器。
- 啓動進程
啓動鏡像中設置的進程。
- 程序輸出
連接標準輸出流 stdout 和標準錯誤流 stderr,並輸出程序日誌和錯誤信息幫助跟蹤程序運行狀況。
參考總結
參考:http://docker-saigon.github.io/post/Docker-Internals/
本文由 Readfog 進行 AMP 轉碼,版權歸原作者所有。
來源:https://mp.weixin.qq.com/s/ROcYWi7h6f1up_sxo9QqYQ