当docker守护进程默认终止时,它会关闭正在运行的docker容器。从Docker Engine 1.12开始,你可以配置守护进程,使容器即使在守护进程变得不可用的情况下也能保持运行。 这个功能被命名为是live restore。live restore选项有助于减少由于守护进程崩溃、计划中的中断或升级导致的容器停机。 有两种方法可以启用live restore 将配置添加到守护进程配置文件中。在Linux上,默认为/etc/docker/daemon.json。 使用以下JSON来启用live-restore。 { "live-restore": true } 您可以立即重新启动docker守护程序了。如果你使用systemd,那么使用systemctl reload docker命令。 你也可以使用--live-restore标志手动启动dockerd进程。 如果守护程序长时间关闭,正在运行的容器可能会填满该守护程序通常读取的FIFO日志。完整的日志会阻止容器记录更多数据。默认缓冲区大小为64K。如果缓冲区已满,则必须重新启动Docker守护程序以刷新它们。 在Linux上,您可以通过更改/proc/sys/fs/pipe-max-size来修改内核的缓冲区大小。 此live restore选项仅适用于独立容器,不适用于群集服务。群集服务由群集管理器管理。如果群集管理器不可用,则群集服务将继续在工作程序节点上运行,但是只有在有足够的群集管理器可用于维持仲裁之前,才能对群集服务进行管理。 live restore支持在Docker守护程序升级期间保持容器运行,尽管这仅限于补丁程序发行版,并且不支持次要或主要守护程序升级。 如果您在升级过程中跳过发行版,则守护程序可能无法恢复其与容器的连接。如果守护程序无法恢复连接,则它无法管理正在运行的容器,您必须手动停止它们。 仅当守护程序选项(例如网桥IP地址和图形驱动程序)未更改时,live restore选项才可用于还原容器。如果这些守护程序级配置选项中的任何一个已更改,则live restore可能无法正常工作,您可能需要手动停止容器。 A5互联https://www.a5idc.net/