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

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

  •  1
     
  •   yzding · 37 天前 · 1431 次点击
    这是一个创建于 37 天前的主题,其中的信息可能已经有所发展或是发生改变。

    先说一下我的环境:

    • 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
        1
    qoo2019   37 天前
    还没没关注过这个问题
    可能有两个原因:
    1、部分新版已经转成 podman
    2、一般服务器上很少会有 docker stop 的需求
        2
    lishunan246   37 天前 via Android
    建议 systemctl mask docker
        3
    anubu   37 天前
    没说 dockerd 的版本,看你说的 clien 1.13.1 应该是一个比较老旧的版本了。
        4
    yzding   37 天前
    @anubu dockerd 同 docker client 版本,1.13.1,阿里云 Centos7.6 和 腾讯云 Centos7.5 yum 安装的 docker 都有这个问题,AWS Linux 里面没有 cleanup 这个服务
        5
    anubu   37 天前
    所以你的两个疑惑应该都是版本老旧问题带来的。
    1. docker1.13.1 时可能在中文圈没这么火,所以这个问题并不多。
    2. 看 moby 仓库 release 记录 1.13.1 的发布日期时 2017 年 2 月份,所以这个修复当时可能并没有合入。
        6
    julyclyde   32 天前
    docker.socket 吧
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   2431 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 28ms · UTC 06:37 · PVG 14:37 · LAX 22:37 · JFK 01:37
    ♥ Do have faith in what you're doing.