V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
yzding
V2EX  ›  Docker

踩坑 docker ,关于 systemd 诡异唤醒 docker 客户端 的问题

  •  1
     
  •   yzding · 2019-11-06 16:55:43 +08:00 · 4235 次点击
    这是一个创建于 1838 天前的主题,其中的信息可能已经有所发展或是发生改变。

    先说一下我的环境:

    • Centos 7.6.1810
    • docker client 1.13.1
    • Yum 使用阿里源

    遇到的问题:

    • systemctl stop docker
    • systemctl disable docker
    • 执行以上两条命令之后,docker 依然会在每个小时的整点启动。换句说如果使用systemctl stop docker 根本不能停掉 docker,过段时间依然会诡异重启.

    分析原因:

    • 启动 docker 的时候,会连带启动一个定时器任务docker-cleanup.timer,这个 timer 任务会每隔 1 小时运行 docker-cleanup.service这个任务来清理 dead 状态的容器.

    • 关闭 docker 的时候,docker-cleanup.timer 这个任务不会被连带关闭,它依然每小时唤 docker-cleanup.service 一次,这个清理任务又依赖于docker.service服务,又继续把 docker 唤醒,所以最后造成每隔一小时 docker 的诡异重启.

    解决方案:

    • RedHat 里面的附件已经给出了方法,把 docker-cleanup.service 和 BindsTo=docker.service 里面的Requires=docker.service换成BindsTo=docker.service 即可,这样关闭 docker 的时候,会连带关闭这两个服务,同理如果关闭docker-cleanup.timer 同样会关闭docker.service

    我的疑惑:

    1. 搜索了中文圈,发现没有人提到过这个问题。但这是一个很常见的 Bug,难道没人碰到过吗?

    2. google 英文检索之后发现 RedHat 的bug 提交报告里面有这个问题记录. 但看时间已经在 2017 年 5 月份就解决了,为什么 Centos 至今 yum 安装的 docker 还有这个问题?

    6 条回复    2019-11-11 17:04:03 +08:00
    qoo2019
        1
    qoo2019  
       2019-11-06 16:58:19 +08:00
    还没没关注过这个问题
    可能有两个原因:
    1、部分新版已经转成 podman
    2、一般服务器上很少会有 docker stop 的需求
    lishunan246
        2
    lishunan246  
       2019-11-06 16:59:00 +08:00 via Android
    建议 systemctl mask docker
    anubu
        3
    anubu  
       2019-11-06 17:02:37 +08:00
    没说 dockerd 的版本,看你说的 clien 1.13.1 应该是一个比较老旧的版本了。
    yzding
        4
    yzding  
    OP
       2019-11-06 17:27:22 +08:00
    @anubu dockerd 同 docker client 版本,1.13.1,阿里云 Centos7.6 和 腾讯云 Centos7.5 yum 安装的 docker 都有这个问题,AWS Linux 里面没有 cleanup 这个服务
    anubu
        5
    anubu  
       2019-11-06 19:40:11 +08:00
    所以你的两个疑惑应该都是版本老旧问题带来的。
    1. docker1.13.1 时可能在中文圈没这么火,所以这个问题并不多。
    2. 看 moby 仓库 release 记录 1.13.1 的发布日期时 2017 年 2 月份,所以这个修复当时可能并没有合入。
    julyclyde
        6
    julyclyde  
       2019-11-11 17:04:03 +08:00
    docker.socket 吧
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1856 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 19ms · UTC 16:15 · PVG 00:15 · LAX 08:15 · JFK 11:15
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.