docker之设置开机自启动(二)
docker的自啟動(dòng)
- 通過sysv-rc-conf等管理
將腳本放置在/etc/init.d/目錄下,修改成root執(zhí)行權(quán)限,然后輸入
sysv-rc-conf在界面上設(shè)置啟動(dòng)權(quán)限。
如果是apt安裝的docker,啟動(dòng)腳本已經(jīng)自動(dòng)放置在/etc/init.d/目錄下了。
docker容器的自啟動(dòng)
我們?cè)O(shè)置了docker自啟動(dòng)后,docker可以管理各種容器了,對(duì)于容器我們也可以設(shè)置重啟的策略。
在容器退出或斷電開機(jī)后,docker可以通過在容器創(chuàng)建時(shí)的--restart參數(shù)來指定重啟策略;
# 多個(gè)參數(shù)值選擇 no 不自動(dòng)重啟容器. (默認(rèn)值) on-failure 容器發(fā)生error而退出(容器退出狀態(tài)不為0)重啟容器,可以指定重啟的最大次數(shù),如:on-failure:10 unless-stopped 在容器已經(jīng)stop掉或Docker stoped/restarted的時(shí)候才重啟容器 always 在容器已經(jīng)stop掉或Docker stoped/restarted的時(shí)候才重啟容器,手動(dòng)stop的不算 # 設(shè)置啟動(dòng)策略 docker run --restart always --name mynginx -d nginx- 如果容器已經(jīng)被創(chuàng)建,我們想要修改容器的重啟策略
注意:
容器只有在成功啟動(dòng)后restart policy才能生效。這里的"成功啟動(dòng)"是指容器處于up至少10秒且已經(jīng)處于docker監(jiān)管。這是避免沒有成功啟動(dòng)的容器陷入restart的死循環(huán)。
如果手動(dòng)stop一個(gè)容器,容器設(shè)置的restart policy將會(huì)被忽略,除非Docker守護(hù)進(jìn)程重啟或者容器手動(dòng)重啟;這是避免了如果重啟策略設(shè)置了always,如果不忽略policy那么容器無法手動(dòng)停止。
使用supervisor監(jiān)控進(jìn)程
將supervisor安裝在容器中,通過它去監(jiān)控容器中的那個(gè)進(jìn)程,這個(gè)監(jiān)控過程docker是無感知的,不推薦這么做。因?yàn)閷ocker容器看做一個(gè)進(jìn)程,docker守護(hù)進(jìn)程其實(shí)就充當(dāng)了supervisor管理所有進(jìn)程的角色,這時(shí)supervisor就可以淘汰了。
參考:
- https://blog.csdn.net/wennuanddianbo/article/details/77592401
轉(zhuǎn)載于:https://www.cnblogs.com/cwp-bg/p/9376130.html
總結(jié)
以上是生活随笔為你收集整理的docker之设置开机自启动(二)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 使用C#获取IP地址方法
- 下一篇: 选择 Python3.6 还是 Pyth