容器(四)一張圖搞懂容器所有操作【21】
阿新 • • 發佈:2020-11-13
(五)一張圖搞懂容器所有操作
前面我們已經討論了容器的各種操作,對容器的生命週期有了大致的理解,下面這張狀態機很好地總結了容器各種狀態之間是如何轉換的 。
如果掌握了前面的知識,要看懂這張圖應該不難。不過有兩點還是需要補充一下:
-
可以先建立容器,稍後再啟動。
root@cuiyongchao:/dockerfile# docker create httpd 751d726f3910d3c139f138c6456623160ccd148d47f82244118f418f829a22ef root@cuiyongchao:/dockerfile# docker start 751d726f3910d3c139f138c6456623160ccd148d47f82244118f418f829a22ef 751d726f3910d3c139f138c6456623160ccd148d47f82244118f418f829a22ef root@cuiyongchao:/dockerfile# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 751d726f3910 httpd "httpd-foreground" 24 seconds ago Up 7 seconds 80/tcp tender_kepler
①
docker create
建立的容器處於 Created 狀態。②
docker start
將以後臺方式啟動容器。docker run
命令實際上是docker create
和docker start
的組合。 -
只有當容器的啟動程序退出時,
--restart
才生效。
退出包括正常退出或者非正常退出。這裡舉了兩個例子:啟動程序正常退出或發生 OOM,此時 docker 會根據--restart
的策略判斷是否需要重啟容器。但如果容器是因為執行docker stop
或docker kill
退出,則不會自動重啟。