0
我有一个CentOS 7盒子,其中默认的Docker 1.12包(docker
)运行了大约十几个容器。根据这些instructions,我想升级到其存储库中提供的最新Docker包(docker-ce
)。从`docker`升级到`docker-ce`时,我可以保存我的运行容器吗?
但是,我必须首先卸载docker
软件包。这会垃圾我的运行容器?如果是这样,是否有避免这种情况?
我有一个CentOS 7盒子,其中默认的Docker 1.12包(docker
)运行了大约十几个容器。根据这些instructions,我想升级到其存储库中提供的最新Docker包(docker-ce
)。从`docker`升级到`docker-ce`时,我可以保存我的运行容器吗?
但是,我必须首先卸载docker
软件包。这会垃圾我的运行容器?如果是这样,是否有避免这种情况?
其实Docker 1.12(只是你的情况)开始有一个功能,叫做live-restore
。
https://docs.docker.com/engine/admin/live-restore/#enable-the-live-restore-option
与码头工人引擎1.12开始,你可以这样,如果守护程序变得不可用的容器仍然正常运行配置守护进程。实时恢复选项有助于减少由于守护进程崩溃,计划停机或升级导致的容器停机时间。
要启用它,请用此更新daemon.json
。
{
"live-restore": true
}
然后,您只需发送一个SIGHUP
到码头引擎。
请务必做好所有必要的备份,以防万一。
我该如何安全地发送该信号,以及如何知道是否需要新配置? –
您可以执行'kill -HUP'来检查是否使用了新的配置,执行'lsof '并检查是否列出了正确的配置文件。 –