需求背景
默认情况下,当docker守护进程终止时,它将关闭正在运行的容器。比如修改daemon.json
的配置、服务异常终止等,这些都会导致docker进程终止或者重启,同时导致所有容器停止或重启,这显然不是我们需要的运维方式和异常处理情况
知道了以上问题的缺陷,那是否有解决方法呢?答案是有的,我们可以配置docker守护进程,使得守护进程不可用时保持容器继续运行。这种功能称为实时恢复,有助于减少由于守护进程崩溃、计划中断或升级而导致的容器停机时间
如何配置
官方参考文档:https://docs.docker.com/engine/daemon/live-restore/
具体配置方法:
- 修改配置文件
/etc/docker/daemon.json
增加内容:
{
"live-restore": true
}
- 重载 docker 使得配置生效
systemctl reload docker
- 检查配置是否成功
docker info | grep -i live
- 此时可以重启docker进程而容器不再跟随重启
service docker restart
群晖7.1.1
仅针对群晖7.1.1的配置方法,未在其它版本配置不能确定是否有效
群晖的配置文件不是在 /etc/docker/daemon.json
所以配置这里是不生效的
实际有效的配置文件是 /var/packages/Docker/etc/dockerd.json
修改的内容是一致的,然后重载生效 systemctl reload pkg-Docker-dockerd
评论