Docker 自動重新啟動容器

當主機或 Docker 服務重新啟動時,原本執行中的容器就自動被關閉了,有沒有辦法讓它自動重啟呢?

只要在執行時設定 --restart unless-stopped 參數即可:
    
docker run -d --name my_nginx --restart unless-stopped nginx
    
註:在本文中 docker 容器的名稱是 my_nginx ,請自行替換

如果容器已經啟動,也可以使用 update 指令直接更新設定:
    
docker update --restart unless-stopped my_nginx
    

那 restart 的 unless-stopped 參數是什麼意思?就是除非手動關閉,不然就一直重啟,適合已經正常運作的容器。
其他可以使用的參數如下:
  • no: 預設值,不會自動重啟
  • always: 就算手動關閉,docker 服務啟動時也會重啟容器
重新啟動還有一個限制,就是容器必須要成功啟動 10 秒後才會起作用。

參考資料:
docker.docs - Start containers automatically

留言