docker之设置开机⾃启动(⼆)
docker的⾃启动
通过sysv-rc-conf等管理
启动脚本
# docker.service
#!/bin/sh
sudo systemctl enable docker
sudo systemctl start docker
将脚本放置在/etc/init.d/⽬录下,修改成root执⾏权限,然后输⼊
sysv-rc-conf
在界⾯上设置启动权限。
如果是apt安装的docker,启动脚本已经⾃动放置在/etc/init.d/⽬录下了。
docker容器的⾃启动
我们设置了docker⾃启动后,docker可以管理各种容器了,对于容器我们也可以设置重启的策略。
在容器退出或断电开机后,docker可以通过在容器创建时的--restart参数来指定重启策略;
# 多个参数值选择
no 不⾃动重启容器. (默认值)
on-failure  容器发⽣error⽽退出(容器退出状态不为0)重启容器,可以指定重启的最⼤次数,如:on-failure:10
unless-stopped  在容器已经stop掉或Docker stoped/restarted的时候才重启容器
always  在容器已经stop掉或Docker stoped/restarted的时候才重启容器,⼿动stop的不算
# 设置启动策略
docker run --restart always --name mynginx -d nginx
docker重启容器命令
如果容器已经被创建,我们想要修改容器的重启策略
docker update --restart no mynginx
注意:
容器只有在成功启动后restart policy才能⽣效。这⾥的"成功启动"是指容器处于up⾄少10秒且已经处于docker监管。这是避免没有成功启动的容器陷⼊restart的死循环。
如果⼿动stop⼀个容器,容器设置的restart policy将会被忽略,除⾮Docker守护进程重启或者容器⼿动重启;这是避免了如果重启策略设置了always,如果不忽略policy那么容器⽆法⼿动停⽌。
使⽤supervisor监控进程
将supervisor安装在容器中,通过它去监控容器中的那个进程,这个监控过程docker是⽆感知的,不推荐这么做。因为将docker容器看做⼀个进程,docker守护进程其实就充当了supervisor管理所有进程的⾓⾊,这时supervisor就可以淘汰了。
参考:

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。