1.我們的需求
讓Docker容器跟随主控端啟動而啟動
2.Restart policy機制
Docker提供了Restart policy機制,可以在容器退出或者Docker重新開機時控制容器能夠自啟動。這種Restart policy可以保證相關容器按照正确順序啟動。雖然也可以通過程序監控的方式(如systemd)來完成這種動作,但Docker還是建議盡量避免使用程序監控的方式來"自啟動" 容器。
Docker的 Restart policy與dockerd指令的–live-restore啟動标志還有差別:–live-restore标志可以在Docker更新的時候保證容器繼續運作,但是網絡以及使用者終端輸入會被中斷。
那到底什麼是restart policy呢?我們來看看實際的情況吧。
3.Docker run的restart參數
在使用docker run啟動容器時,使用–restart參數來設定:
docker run ‐d ‐p 80:80 --restart=always nginx
no - 容器不自動重新開機
on-failure - 容器退出狀态不為0時自動重新開機
on-failure:[n] - 容器退出狀态不為0時自動重新開機,最大嘗試n次
always - 始終嘗試自動重新開機
如果建立時未指定 --restart=always ,可通過update 指令設定
docker update --restart=always 容器名稱
在使用on - failure參數時,指定Docker将嘗試重新啟動容器的最大次數。
預設情況下,Docker将嘗試永遠重新啟動容器。
嘗試重新開機redis容器10次
docker run --restart=on-failure:10 nginx