Docker Daemon Failed,并且重启失败

今天突然发现运行在 Docker 容器里的 Jenkins 无法登录了。 运行 systemctl status docker,看见它的状态是 Failed。 试图重启,报告Job for docker.service failed because the control process exited with error code. See "systemctl status docker.service" and "journalctl -xe" for details.

首先怀疑是 /etc/docker/daemon.json 的格式问题。看起来格式没错。问题依旧。

接着运行 docker -v ,发现是 release candidate 版本,于是卸载,再重装最新的稳定版。问题依旧。

sudo tail -100 /var/log/messages,发现以下信息,于是删除 /var/run/docker.pid 文件。问题依旧。

Error starting daemon: pid file found, ensure docker is not running or delete /var/run/docker.pid

再次sudo tail -100 /var/log/messages,发现以下信息,通过谷歌,找到一个类似问题

Error starting daemon: error while opening volume store metadata database: timeout

运行以下命令,sudo daemon-reload && sudo systemctl start docker重启成功,问题解决

ps axf | grep docker | grep -v grep | awk '{print "kill -9 " $1}' | sudo sh

参考资料

转载于:https://my.oschina.net/u/553266/blog/3069770

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
这个错误"failed to get docker info: Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?"通常发生在Docker守护进程未运行的情况下。Docker守护进程是Docker的核心组件,负责管理Docker容器和镜像。该错误提示意味着Docker守护进程无法通过Unix套接字连接到"/var/run/docker.sock"。 要解决这个问题,你可以尝试以下几个步骤: 1. 首先,确保Docker守护进程正在运行。你可以使用命令"sudo service docker status"来检查守护进程的状态。如果它没有运行,你可以使用命令"sudo service docker start"来启动它。 2. 如果守护进程正在运行但仍然遇到问题,可以尝试重启守护进程。使用命令"sudo service docker restart"来重启Docker守护进程。 3. 如果重启守护进程仍然无法解决问题,可能是由于权限问题导致无法访问"/var/run/docker.sock"。你可以尝试使用sudo命令来执行Docker命令,例如"sudo docker info",看是否能够成功连接到守护进程。如果可以,那么你可能需要调整用户权限或将用户添加到docker用户组中以获得对Docker的访问权限。 4. 另外,还可以检查"/var/run/docker.pid"文件是否存在。如果存在这个文件,它可能会阻止Docker守护进程的正常运行。你可以尝试删除该文件,使用命令"sudo rm /var/run/docker.pid",然后重启Docker守护进程。 通过检查Docker守护进程的运行状态,重启它,检查权限以及删除可能引起问题的文件,你应该能够解决这个错误并成功连接到Docker守护进程。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值