容器重啟策略(啟動時啟動容器)
docker run --restart=always -d <container>
預設情況下,Docker 守護程式重新啟動時 Docker 不會重新啟動容器,例如在主機系統重新啟動後。Docker 通過提供 --restart
命令列選項為你的容器提供重新啟動策略。在重新啟動 Docker 守護程式後,提供 --restart=always
將始終導致重新啟動容器。**但是,**當手動停止該容器時(例如,使用 docker stop <container>
),重啟策略將不會應用於容器。
根據要求(--restart=[policy]
),可以為 --restart
選項指定多個選項。這些選項也會影響容器在啟動時的啟動方式。
政策 | 結果 |
---|---|
no |
該預設值。當容器停止時,不會自動重啟容器。 |
on-failure[:max-retries] |
僅當容器以失敗退出時才重新啟動(non-zero exit status )。為了避免無限期地重新啟動它(如果出現問題),可以限制 Docker 守護程式嘗試重新啟動重試的次數。 |
always |
無論退出狀態如何,始終重新啟動容器。當你指定 always 時,Docker 守護程式將嘗試無限期地重新啟動容器。無論容器的當前狀態如何,容器也將始終在守護程式啟動時啟動。 |
unless-stopped |
無論其退出狀態如何,始終重新啟動容器,但如果容器之前已經處於停止狀態,則不要在守護程式啟動時啟動它。 |