在默认情况下,当 Docker 守护进程终止时,它将关闭正在运行的容器。不过,我们可以配置该守护进程,以便在该守护进程不可用时容器仍在运行。这种功能称为实时恢复。实时还原选项有助于减少由于守护进程崩溃、计划中断或升级而导致的容器停机时间。
Docker官方相关详细文档:https://docs.docker.com/config/containers/live-restore/
具体方法:
1.将配置添加到守护进程配置文件中。在 Linux 上,默认的配置文件为/etc/docker/daemon.json
vim /etc/docker/daemon.json { "live-restore": true }
之前每次重启docker都需要 重启docker的进程
docker start mysql57
docker start cadvisor
docker start node-exporter
docker start prom/node-exporter
vim /etc/docker/daemon.json
{
"registry-mirrors": ["http://hub-mirror.c.163.com"],
"insecure-registries": ["http://192.168.1.249:8086","https://192.168.1.249:16443"],
"live-restore": true
}
2.Docker reload配置(不会重启docker)
重启或给dockerd发送 SIGHUP信号,dockerd收到信号后会reload配置
systemctl reload docker 或者发送信号 kill -SIGHUP $(pidof dockerd)
3.检查上面的配置是否成功
docker info | grep -i live
4.重启Docker,此时重启Docker时就容器就不会停止了
systemctl restart docker
5、docker ps 查看