docker学习笔记-为容器配置重启策略
生活随笔
收集整理的這篇文章主要介紹了
docker学习笔记-为容器配置重启策略
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
docker容器配置重啟策略
docker restart policies
docker容器的退出狀態碼
| 非0 | 表示異常退出(退出狀態碼采用chroot標準) |
| 125 | Docker守護進程本身的錯誤 |
| 126 | 容器啟動后,要執行的默認命令無法調用 |
| 127 | 容器啟動后,要執行的默認命令不存在 |
| 其他命令狀態碼 | 容器啟動后正常執行命令,退出命令時該命令的返回狀態碼作為容器的退出狀態碼 |
重啟策略配置
在docker run 容器時可以通過 --restart來配置該容器的重啟策略,當一個容器配置了重啟策略時,在docker ps中可以看到該容器的狀態只能為 up 或 restarting
dockers包含的重啟策略:
| no | 默認的參數,即不重啟 |
| on-failure[:max-retries] | 在容器非正常退出時(退出狀態非0),才會重啟容器,最大重啟次數為 max-retries |
| always | 在容器退出時總是重啟容器,不論退出狀態碼為多少。 同時在docker守護進程啟動,都會重啟該容器 |
| unless-stopped | 在容器退出時總是重啟容器,不論退出狀態碼為多少。但是在docker守護進程啟動時已經停止的容器不會重啟 |
值得注意的是docker在重啟失敗時會每次增加一個延遲,避免無謂的重啟空占資源,例如某個容器啟動失敗,并設置了重啟策略,一開始延遲100ms,緊接著的每一次重啟失敗,會延遲2倍的時間,意味著200ms,400ms,800ms and so on。直到docker進程被停止,或者容器被刪除。
當該容器重新啟動成功時(restart success,并且正常運行了超過10s),這個延遲時間會被重置為100ms
容器的重啟信息可以在docker inspect中獲取,例如次數與時間
$ docker inspect -f "{{ .RestartCount }}" my-container # 2 $ docker inspect -f "{{ .State.StartedAt }}" my-container # 2015-03-04T23:47:07.691840179Z 復制代碼設置了重啟策略的容器,不能被clean up ,即docker rm -v my-container
參考:docs.docker.com/engine/refe…
轉載于:https://juejin.im/post/5b71ab935188256137188209
總結
以上是生活随笔為你收集整理的docker学习笔记-为容器配置重启策略的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 生成器和生成器表达式
- 下一篇: UTC/GMT/CST几种常见的时间概述