在守护进程停机期间保持容器处于活动状态(引擎) | 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引擎以群集模式运行时,业务流程功能管理任务,并根据服务规范保持容器运行。
本文档系腾讯云开发者社区成员共同维护,如有问题请联系 cloudcommunity@tencent.com