咱們設置了docker自啓動後,docker能夠管理各類容器了,對於容器咱們也能夠設置重啓的策略。nginx
在容器退出或斷電開機後,docker能夠經過在容器建立時的--restart參數來指定重啓策略;docker
# 多個參數值選擇 no 不自動重啓容器. (默認值) on-failure 容器發生error而退出(容器退出狀態不爲0)重啓容器,能夠指定重啓的最大次數,如:on-failure:10 unless-stopped 在容器已經stop掉或Docker stoped/restarted的時候才重啓容器 always 在容器已經stop掉或Docker stoped/restarted的時候才重啓容器,手動stop的不算
# 設置啓動策略 docker run --restart always --name mynginx -d nginx
docker update --restart no mynginx
注意:bash
容器只有在成功啓動後restart policy才能生效。這裏的"成功啓動"是指容器處於up至少10秒且已經處於docker監管。這是避免沒有成功啓動的容器陷入restart的死循環。less
若是手動stop一個容器,容器設置的restart policy將會被忽略,除非Docker守護進程重啓或者容器手動重啓;這是避免了若是重啓策略設置了always,若是不忽略policy那麼容器沒法手動中止。spa