优雅的重启docker而不影响容器的运行

文章介绍了在不中断容器运行的情况下,如何通过启用dockerd的live-restore功能,安全地重启服务以更新配置,如忽略HTTPS验证或添加镜像仓库。此方法类似于nginx的平滑重载,确保业务不受影响。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

优雅的重启docker而不影响容器的运行

现象说明

  • 如下情况,想重启下dockerd进程,但是不影响容器的运行.(类似nginx -s reload)
    • 修改docker daemon.json参数,比如忽略https,忽略证书时间, 新增信任的镜像仓库等;
    • dockerd 进程cpu/mem 利用率异常
    • dockerd 触发了什么bug.

排查过程

  • 编辑文件 /etc/docker/daemon.json,添加如下配置
{ "live-restore": true }
  • 给 dockerd 发送 SIGHUP 信号,dockerd 收到信号后会 reload 配置
kill -SIGHUP $(pidof dockerd) 
  • 检查
docker info | grep -i live
# 应该能看到 Live Restore Enabled: true
  • 重启
systemctl restart docker

原因/结论

(类似nginx -s reload)实在是好用,dockerd 有啥问题都可以重启,不用担心重启 dockerd 会影响现有业务了, 多次尝试,无任何问题。

自己评估,重启完后,是否需要把配置改回去。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值