docker 提供了重啟策略,以控制容器在退出時是否自動啟動,或在 docker 重新啟動時自動啟動。重啟策略可確保鏈結的容器以正確的順序啟動。docker 建議使用重啟策略,並避免使用流程管理器啟動容器。
重啟策略跟dockerd
命令的--live-restore
標誌不同。使用--live-restore
標誌使得在 docker 公升級過程中容器可以保持執行,雖然網路和使用者輸入都中斷了。
要為容器配置重啟策略,使用docker run
命令的時候新增--restart
標誌。--restart
標誌的值可以是下面幾個:
標誌描述
no
不自動重啟容器(預設值)
on-failure
如果容器由於錯誤而退出,則將其重新啟動,非零退出**表示錯誤
unless-stopped
重新啟動容器,除非明確停止容器或者 docker 被停止或重新啟動
always
只要容器停止了,就重新啟動
下面例子的 redis 容器會一直重啟,除非明確停止這個容器或 docker 重啟了。
$ docker run -dit --restart unless-stopped redis
使用重啟策略時,記住以下幾點:
如果重啟策略無法滿足你的需求,例如依賴 docker 容器的 docker 外部程序,可以使用程序管理器,例如 upstart、systemd 或 supervisor。
警告:不要嘗試將 docker 重啟策略與主機級程序管理器結合使用,因為這會產生衝突。要使用程序管理器,請將其配置為使用通常用於手動啟動容器的
docker start
或docker service
命令啟動容器或服務。有關更多詳細資訊,請參閱特定流程管理器的文件。
程序管理器也可以在容器內執行,以檢查程序是否正在執行,如果沒執行,則啟動/重新啟動程序。
警告:docker 對這些無感知,只是在容器內監控作業系統程序。docker 並不推薦這種方法,因為它依賴於平台,甚至在給定的 linux 發行版的不同版本中有所不同。
Docker 生產環境之配置容器 自動啟動容器
docker 提供了重啟策略,以控制容器在退出時是否自動啟動,或在 docker 重新啟動時自動啟動。重啟策略可確保鏈結的容器以正確的順序啟動。docker 建議使用重啟策略,並避免使用流程管理器啟動容器。重啟策略跟dockerd命令的 live restore標誌不同。使用 live restor...
生產環境docker部署之nginx部署
網上由很多關於docker某種容器的部署命令,比如nginx部署,jar包部署,監控部署等。但個人感覺很多不能達到企業生產化的效果,比如長期執行後的日誌問題,容器的服務的配置等等。因此在這裡記錄一下。nginx作為後端網關的入口,以及內部負載均衡的分發元件,在整個後端服務中是起非常重要的作用。說句題...
在生產環境中安全地執行Docker容器
在生產環境中,強化docker容器的一種方法就是使它們不可變,也就是唯讀。安全地執行容器的其他方法還包括最小化受攻擊面和應用linux安全過程,標準linux安全過程和針對容器環境的特定過程都要應用。u0026 xd n u0026 xd n 在啟動容器時傳入 read only標記就可以在唯讀模式...