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 文档。

参考文献

Keep containers alive during daemon downtime
Reload docker logging configuration without daemon restart - Stack Overflow
dockerd | Docker Documentation / CONFIGURATION RELOAD BEHAVIOR

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值