Ubuntu

如何在系統啟動時自動啟動 docker 容器?

  • April 16, 2019

系統啟動時自動啟動docker容器的好方法是什麼?

在 Ubuntu 14.04 上是否有首選方法?

我過去曾使用supervisord過自動啟動網路應用程序。但這對 Docker 來說並不合適。

顯然,目前自動啟動 Docker 容器(從 Docker 1.2開始)的方法是使用重啟策略。這將控制 Docker 在啟動時如何處理容器的啟動以及在容器退出時如何重新啟動容器。到目前為止,我已經使用了“始終”選項,並且可以確認它使 Docker 在系統啟動時自動啟動容器:

sudo docker run --restart=always -d myimage

文件摘錄

重啟策略 使用 Docker run 上的 –restart 標誌,你可以指定一個重啟策略來決定容器在退出時應該或不應該如何重啟。

no - 容器退出時不要重新啟動它。

on-failure - 僅當容器以非零退出狀態退出時才重新啟動容器。

always - 無論退出狀態如何,始終重新啟動容器。

您還可以指定 Docker 在使用 on-failure 策略時嘗試重新啟動容器的最大次數。預設情況下,Docker 將永遠嘗試重新啟動容器。

$ sudo docker run --restart=always redis

這將以 always 的重啟策略執行 redis 容器,這樣如果容器退出,Docker 將重啟它。

$ sudo docker run --restart=on-failure:10 redis

這將以 on-failure 重啟策略和最大重啟計數 10 執行 redis 容器。如果 redis 容器以非零退出狀態退出連續超過 10 次,Docker 將中止嘗試重啟容器。提供最大重啟限制僅對失敗策略有效。

引用自:https://serverfault.com/questions/633067