问题:systemctl stop docker.service 隔一段时间后docker又跑起来
解决方法:
1、网上查询了有人遇到同样的问题,贴出解决方法
分析原因:
启动 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
2、同时停掉相关服务
systemctl stop docker.service
systemctl stop docker-cleanup.service
systemctl stop docker-cleanup.timer