Docker更新配置但无需重启服务的方法有哪些

本篇内容介绍了“Docker更新配置但无需重启服务的方法有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

问题描述

当我们修改配置之后,需要重启服务,使得配置生效。

但是,重启 dockerd 服务,容器会被停止。我们希望容器继续运行,而不是停止。

该笔记将记录:如何重载配置文件,而无需重启 dockerd 服务。

解决方法

方案一、通过 HUP 信号

在 dockerd 中,通过 HUP 信号,可以重载某些选项,而无需重启容器。

受支持选项,参考 dockerd | Docker Documentation / CONFIGURATION RELOAD BEHAVIOR 文档。

例如,设置镜像加速站点,进行 reload 即可:

# vim /etc/docker/daemon.json
{
    ...
    "registry-mirrors": ["https://xxxxxxx.mirror.aliyuncs.com"],
    ...
}

# systemctl reload docker

方案二、通过 live-restore 特性

当守护进程 dockerd 不可用时,保持容器继续运行,可以使用如下配置:

# vim /etc/docker/daemon.json
{
    ...
    "live-restore": true,
    ...
}

# systemctl reload docker # SIGHUP

在启用 live-restore 特性时,即使重启 Docker 服务,容器也不会退出。

但是,该方法也存在限制,参考 Keep containers alive during daemon downtime | Docker Documentation 文档。

“Docker更新配置但无需重启服务的方法有哪些”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!