首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在守护进程停机期间保持容器处于活动状态(引擎) | Keep containers alive during daemon downtime (Engine)

默认情况下,当Docker守护进程终止时,它会关闭正在运行的容器。从DockerEngine 1.12开始,您可以配置守护进程,以便在守护进程不可用时容器保持运行。LiveRESTORE选项有助于减少由于守护进程崩溃、计划中断或升级而导致的容器停机时间。

:Windows容器不支持实时恢复,但它对运行在DockerforWindows上的Linux容器确实有效。

启用活动还原选项

当守护进程不可用时,有两种方法可以启用“活动还原”设置来保持容器处于活动状态:

  • 如果守护进程已经在运行,并且不想停止它,则可以将配置添加到守护进程配置文件中。例如,在linux系统上,默认配置文件是/etc/docker/daemon.json...使用您最喜欢的编辑器启用live-restore选项中的daemon.json...{ "live-restore": true }你得给我一个SIGHUP向守护进程发出信号,使其重新加载配置。有关如何使用config.json配置Docker守护进程的更多信息,请参见守护进程配置文件...
  • 启动Docker守护进程时,传递--live-restore国旗:

$sudo dockerd-活恢复

升级期间的实时恢复

活动还原功能支持将容器还原到守护进程,以便从一个小版本升级到下一个版本。例如,由码头引擎1.12.1至1.13.2。

如果在升级期间跳过发布,守护进程可能不会恢复到容器的连接。如果守护进程无法恢复连接,它将忽略正在运行的容器,您必须手动管理它们。

重新启动后的实时恢复

LiveRESTORE选项仅用于恢复与守护进程停止前相同的一组守护进程选项。例如,如果守护进程用不同的桥IP或不同的图形驱动程序重新启动,则动态还原可能无法工作。

活动还原对运行容器的影响

长时间没有守护进程会影响正在运行的容器。容器进程写入FIFO日志以供守护进程使用。如果守护进程无法使用输出,缓冲区将填充并阻止对日志的进一步写入。一个完整的日志阻塞了进程,直到有更多的空间可用为止。默认缓冲区大小通常为64K。

必须重新启动Docker才能刷新缓冲区。

您可以通过更改内核的缓冲区大小/proc/sys/fs/pipe-max-size...

活恢复和群模式

活动还原选项与Docker引擎群模式不兼容。当Docker引擎以群集模式运行时,业务流程功能管理任务,并根据服务规范保持容器运行。

扫码关注腾讯云开发者

领取腾讯云代金券