前面討論瞭如何運行容器,本節學習容器的其餘經常使用操做。docker
經過 docker stop
能夠中止運行的容器。學習
容器在 docker host 中其實是一個進程,docker stop
命令本質上是向該進程發送一個 SIGTERM 信號。若是想快速中止容器,可以使用 docker kill
命令,其做用是向容器進程發送 SIGKILL 信號。spa
對於處於中止狀態的容器,能夠經過 docker start
從新啓動。rest
docker start
會保留容器的第一次啓動時的全部參數。code
docker restart
能夠重啓容器,其做用就是依次執行 docker stop
和docker start
。進程
容器可能會因某種錯誤而中止運行。對於服務類容器,咱們一般但願在這種狀況下容器可以自動重啓。啓動容器時設置 --restart
就能夠達到這個效果。資源
--restart=always
意味着不管容器因何種緣由退出(包括正常退出),就當即重啓。該參數的形式還能夠是 --restart=on-failure:3
,意思是若是啓動進程退出代碼非0,則重啓容器,最多重啓3次。it
有時咱們只是但願暫時讓容器暫停工做一段時間,好比要對容器的文件系統打個快照,或者 dcoker host 須要使用 CPU,這時能夠執行 docker pause
。容器
處於暫停狀態的容器不會佔用 CPU 資源,直到經過 docker unpause
恢復運行。二維碼
使用 docker 一段時間後,host 上可能會有大量已經退出了的容器。
這些容器依然會佔用 host 的文件系統資源,若是確認不會再重啓此類容器,能夠經過 docker rm
刪除。
docker rm
一次能夠指定多個容器,若是但願批量刪除全部已經退出的容器,能夠執行以下命令:
docker rm -v $(docker ps -aq -f status=exited)
順便說一句:docker rm
是刪除容器,而 docker rmi
是刪除鏡像。
一下學了這麼多操做,頗有必要作個總結。下一節咱們會用一張圖來描述容器的狀態機。