容器重啟策略
重啟reboot操作系統后,發現docker 服務未啟動,容器也未啟動,天生反骨,怎么才能重啟后自動啟動呢
解決問題兩個問題:
1、docker服務自動重啟設置
systemctl enable docker.service
2、docker容器自動啟動設置
在運行docker容器時可 以加如下參數來保證每次docker服務重啟后容器也自動重啟:
docker run --restart=always
如果已經啟動了則可以使用如下命令:
docker update --restart=always <CONTAINER ID>
- Docker容器的重啟策略
Docker容器的重啟策略是面向生產環境的一個啟動策略,在開發過程中可以忽略該策略。
Docker容器的重啟都是由Docker守護進程完成的,因此與守護進程息息相關。
Docker容器的重啟策略如下:
no,默認策略,在容器退出時不重啟容器
on-failure,在容器非正常退出時(退出狀態非0),才會重啟容器
on-failure:3,在容器非正常退出時重啟容器,最多重啟3次
always,在容器退出時總是重啟容器
unless-stopped,在容器退出時總是重啟容器,但是不考慮在Docker守護進程啟動時就已經停止了的容器
Docker容器的重啟策略
Docker容器的重啟策略是面向生產環境的一個啟動策略,在開發過程中可以忽略該策略。
Docker容器的重啟都是由Docker守護進程完成的,因此與守護進程息息相關。
Docker容器的重啟策略如下:
no,默認策略,在容器退出時不重啟容器
on-failure,在容器非正常退出時(退出狀態非0),才會重啟容器
on-failure:3,在容器非正常退出時重啟容器,最多重啟3次
always,在容器退出時總是重啟容器
unless-stopped,在容器退出時總是重啟容器,但是不考慮在Docker守護進程啟動時就已經停止了的容器
Docker容器的退出狀態碼
docker run的退出狀態碼如下:
0,表示正常退出
非0,表示異常退出(退出狀態碼采用chroot標準)
125,Docker守護進程本身的錯誤
126,容器啟動后,要執行的默認命令無法調用
127,容器啟動后,要執行的默認命令不存在
其他命令狀態碼,容器啟動后正常執行命令,退出命令時該命令的返回狀態碼作為容器的退出狀態碼
docker run的--restart選項
通過--restart選項,可以設置容器的重啟策略,以決定在容器退出時Docker守護進程是否重啟剛剛退出的容器。
--restart選項通常只用于detached模式的容器。
--restart選項不能與--rm選項同時使用。顯然,--restart選項適用于detached模式的容器,而--rm選項適用于foreground模式的容器。
在docker ps查看容器時,對于使用了--restart選項的容器,其可能的狀態只有Up或Restarting兩種狀態。
示例:
docker run -d --restart=always bba-208
docker run -d --restart=on-failure:10 bba-208

浙公網安備 33010602011771號