先说一下我的环境:
遇到的问题:
systemctl stop docker
systemctl disable 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 的诡异重启.
解决方案:
Requires=docker.service
换成BindsTo=docker.service
即可,这样关闭 docker 的时候,会连带关闭这两个服务,同理如果关闭docker-cleanup.timer
同样会关闭docker.service
我的疑惑:
搜索了中文圈,发现没有人提到过这个问题。但这是一个很常见的 Bug,难道没人碰到过吗?
google 英文检索之后发现 RedHat 的bug 提交报告里面有这个问题记录. 但看时间已经在 2017 年 5 月份就解决了,为什么 Centos 至今 yum 安装的 docker 还有这个问题?
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.