默认情况下,当Docker守护程序终止时,它将关闭正在运行的容器。您可以配置守护程序,以便在守护程序不可用时容器仍在运行。此功能称为实时还原。实时还原选项有助于减少由于守护程序崩溃,计划内停机或升级而导致的容器停机时间。
启用实时还原
两种方法可以启用实时还原设置,以在守护程序不可用时使容器保持活动状态。请仅执行以下一项。
将配置添加到守护程序配置文件。在Linux上,此默认为/etc/docker/daemon.json。在泊坞窗Mac版桌面或码头Windows版桌面,选择从任务栏泊坞窗图标,然后单击 首选项- >守护程序- >高级。
使用以下JSON启用live-restore。
{
"live-restore": true
}
重新启动Docker守护程序。在Linux上,您可以通过重新加载Docker守护程序来避免重启(并避免容器出现任何停机)。如果使用 systemd,则使用命令systemctl reload docker。否则,SIGHUP向该dockerd过程发送 信号。
如果愿意,可以dockerd使用该--live-restore标志手动启动该过程 。不建议使用此方法,因为它没有设置systemd启动Docker进程时将使用的环境或其他进程管理器。这可能会导致意外的行为。
在升级过程中现场恢复
实时还原允许您使容器在Docker守护程序更新之间保持运行,但是仅在安装修补程序版本(YY.MM.x)时才支持实时还原,而对于主要(YY.MM)守护程序升级则不支持。
如果您在升级过程中跳过发行版,则守护程序可能无法恢复其与容器的连接。如果守护程序无法恢复连接,则它无法管理正在运行的容器,您必须手动停止它们。