生产环境断电一次后,导致docker服务一直启动不起来。查看systemctl status docker 如下图报
start request repeated too quickly for docker.service。
根据经验:
方案1:重启systemctl restart docker ,重启回来发现还是这样。
方案2:重启服务器,重启回来发现还是这样。
方案3:重新安装docker服务,重装回来发现还是这样。
方案4:按baidu到的方法,对docker.service服务添加超时时间。重启还是这样。
方案5:更换新版本的docker,直接就起不来。
方案6:mv /var/lib/docker/network/files/local-kv.db /opt/old-docker-local-kv.db 重启docker服务,终于起来了。
通过执行./dockerd发现有个错误打印。
panic: assertion failed: write: circular dependency occurred
Daemon初始化都失败了。
通过查询老外他们经常遇到这种情况,就是在异常宕机后,导致docker的内部数据异常。必须清理掉脏数据才能行。如果数据不重要的话,还可以直接mv /var/lib/docker /opt/old-var-lib-docker
清理数据后,直接systemctl restart docker就正常了。困扰了一个清明节的问题终于搞定了。