docker 運行容器時使用--restart 參數可以指定一個restart策略,來指定容器應該如何重啟,或不應該重啟,當容器啟用restart策略時,將會載docker ps 顯示up 或者restart 狀態,當然也可以使用docker events命令生效命令中restatcel策略。
docker 支持的restart策略
+ no - 容器退出時不要自動重啟,這個是默認值
+on-failure 在容器非正常退出時(退出狀態非0),才會重啟容器
+on-failure[:max-retries] 當容器非正常退出超過設定的次數才會重啟
+always 不管退出狀態碼是什么,始終重啟容器,當指定always時,docker daemon將無數次的重啟容器,容器也會在daemon啟動時嘗試重啟,不管容器的狀態如何。
+nuless-stopped 在容器退出時,總是重啟,但不考慮在docker守護進程啟動之時,就已經停止了的容器,
restart選項通常只用於datached(后台運行)模式的容器,
當使用了--restart選項的容器通過docker ps 查看容器時其可能狀態只用兩種 up or restarting
補充:
查看容器重啟次數
docker inspecdt {{ .RestartCount }} containerName
查看容器最后一次啟動時間
docker inspect {{.State.StartedAt}} containerName
參考連接: https://www.centos.bz/2017/01/docker-run-restart-policy/#%E7%A4%BA%E4%BE%8B
