让 Docker 自动重启实例
今天发现运行于 Docker 环境中的 Supg 异常退出,Supg 主要用于服务监控,结果监控的监控出现异常,则所有的监控都跪了
Docker 支持自动重启容器,添加--restart=always
,无论容器退出代码是什么,docker 都会自动重启容器
docker run --restart=always -d --name myunbuntu ubuntu /bin/bash -c "l am a docker"
限制重启次数:--restart=on-failure:5
, 当容器退出代码不为0时,最多重启5次
而我们现在的容器,因为在之前run
的时候,没有添加--restart=always
,如果不重新新建容器的话,可以使用 centos 自带的服务管理器来实现进程守护和重启
vim /etc/systemd/system/docker-spug.service
[Unit]
Description=spug container
Requires=docker.service
After=docker.service
[Service]
Restart=always
ExecStart=/usr/bin/docker start -a spug
ExecStop=/usr/bin/docker stop -t 2 spug
[Install]
WantedBy=default.target
然后添加服务并启动
systemctl enable docker-spug
systemctl start docker-spug