容器狀態有7種:1、“created”,表示已建立;2、“restarting”,表示重啟中;3、“running”,表示運行中;4、“removing”,表示遷移中;5、“paused”,表示暫停狀態;6、“exited”,表示停止等等。
本教學操作環境:linux5.9.8系統、docker-1.13.1版、Dell G3電腦。
docker下查看所有容器狀態:
docker ps -a
傳回的內容中,有一個欄位是STATUS。
STATUS: 容器狀態,有7種:
created(已创建) restarting(重启中) running(运行中) removing(迁移中) paused(暂停) exited(停止) dead(死亡)
這些狀態中,最重要且常見的是除了restarting(重啟中)和removing(遷移中)之外的五個狀態,下面基本上網路上大部分的容器生命週期圖都只包含五個狀態:created(已建立),running(運行中),paused(暫停),exited(停止),dead(死亡)。
最常見的一種,當某容器因為某些原因變成exited
狀態時,可以使用start
重新啟動,例如:當執行時,提示這個容器未在運行,同時使用docker ps
時沒有顯示出該容器
#隨後,想要重新新建一個容器,發現提示之前建立的容器其實還在,使用docker ps -a
查看所有容器,看到:其實是處於exited
狀態
隨後,使用docker start OCR
重新啟動了這個容器,檢查了一下,裡面的東西還是都在的。
類似exited(停止)
#UP還在運作中(running)
另外,如果想知道這些狀態,最簡單的方式是,docker --help
,在回傳的訊息中,可以看到:
# 用来创建容器 create Create a new container # 在一个运行状态的容器中执行命令 exec Run a command in a running container # 杀死运行中的容器 kill Kill one or more running containers # 让容器暂停 pause Pause all processes within one or more containers # 恢复容器 unpause Unpause all processes within one or more containers # 重启容器 restart Restart one or more containers # 新建并初始化一个容器(注意 是一个新的容器) run Run a command in a new container # 启动一个被停止的容器 start Start one or more stopped containers # 暂停运行中的容器 stop Stop one or more running containers
擴展知識:容器生命週期
可以Googlecontainer lifecycle去看看相關的內容,主要搜圖,可以看到有很多圖,就像進程的生命週期一樣。
主要反映了created(已創建),running(運行中),paused(暫停),exited(停止),dead(死亡)這五個狀態的一個變化關係。
下面這個圖的started就約等於running。
下面這個圖的stopped就約等於exited
# 源自: Docker Container Lifecycle Management: Create, Run, Pause, Stop And Delete
源自:docker基本指令
源自:docker指令圖譜
## 源自:Docker系列03—Docker 基礎入門
其實上面這個圖原本應該是來自:
# 源自:Docker Internals-A Deep pe Into Docker For Engineers Interested In The Gritty Details.
docker影片教學》
以上是docker容器的狀態有哪幾種的詳細內容。更多資訊請關注PHP中文網其他相關文章!