默认情况下,当 Docker 守护进程终止时,它会关闭正在运行的容器。您可以配置守护程序,以便在守护程序不可用时容器保持运行。
1、将配置添加到守护程序配置文件。在 Linux 上,这默认为/etc/docker/daemon.json。
[root@localhost docker]# vi daemon.json
{
"live-restore": true,
"registry-mirrors": ["https://*****.mirror.aliyuncs.com"]
}
2、重新启动 Docker 守护程序。在 Linux 上,可以通过重新加载 Docker 守护程序来避免重新启动(并避免容器停机)。如果使用 systemd,则使用命令systemctl reload docker
。否则,向进程发送 SIGHUP信号kill -SIGHUP $(pidof dockerd)
。
[root@localhost docker]# systemctl reload docker
或者
[root@localhost docker]# kill -SIGHUP $(pidof dockerd)
3、检查是否配置成功
[root@localhost docker]# docker info | grep -i live
Live Restore Enabled: true
此时重启 docker 不会重启容器.
如果有容器挂载了 docker.sock 文件,重启后工作可能会不正常,需要重启该容器。原因是重启 dockerd 后 docker.sock 文件的 inode 变了。
网友评论