通过重置 /etc/docker/daemon.json 来解决 docker 启动不了的问题

具体报错表现

查看容器

Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?

启动报错

Job for docker.service failed because the control process exited with error code. See "systemctl status docker.service" and "journalctl -xe" for details.

分析和解决

查看Docker日志: journalctl -u docker.service

docker.service - Docker Application Container Engine
   Loaded: loaded (/usr/lib/systemd/system/docker.service; disabled; vendor preset: disabled)
   Active: failed (Result: start-limit) since 四 2023-05-18 21:14:53 CST; 21s ago
     Docs: https://docs.docker.com
  Process: 22281 ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock (code=exited, status=1/FAILURE)
 Main PID: 22281 (code=exited, status=1/FAILURE)

5月 18 21:14:51 free1 systemd[1]: docker.service failed.
5月 18 21:14:53 free1 systemd[1]: docker.service holdoff time over, scheduling restart.
5月 18 21:14:53 free1 systemd[1]: Stopped Docker Application Container Engine.
5月 18 21:14:53 free1 systemd[1]: start request repeated too quickly for docker.service
5月 18 21:14:53 free1 systemd[1]: Failed to start Docker Application Container Engine.
5月 18 21:14:53 free1 systemd[1]: Unit docker.service entered failed state.
5月 18 21:14:53 free1 systemd[1]: docker.service failed.
5月 18 21:14:53 free1 systemd[1]: start request repeated too quickly for docker.service
5月 18 21:14:53 free1 systemd[1]: Failed to start Docker Application Container Engine.
5月 18 21:14:53 free1 systemd[1]: docker.service failed.
[root@free1 ~]# journalctl -u docker.service
-- Logs begin at 四 2023-05-18 20:50:37 CST, end at 四 2023-05-18 21:16:06 CST. --
5月 18 20:54:41 free1 systemd[1]: Starting Docker Application Container Engine...
5月 18 20:54:43 free1 dockerd[5016]: unable to configure the Docker daemon with file /etc/docker/daemon.json: the following directive
5月 18 20:54:43 free1 systemd[1]: docker.service: main process exited, code=exited, status=1/FAILURE
5月 18 20:54:43 free1 systemd[1]: Failed to start Docker Application Container Engine.
5月 18 20:54:43 free1 systemd[1]: Unit docker.service entered failed state.
5月 18 20:54:43 free1 systemd[1]: docker.service failed.
5月 18 20:54:45 free1 systemd[1]: docker.service holdoff time over, scheduling restart.
5月 18 20:54:45 free1 systemd[1]: Stopped Docker Application Container Engine.
5月 18 20:54:45 free1 systemd[1]: Starting Docker Application Container Engine...
5月 18 20:54:45 free1 dockerd[5069]: unable to configure the Docker daemon with file /etc/docker/daemon.json: the following directive
5月 18 20:54:45 free1 systemd[1]: docker.service: main process exited, code=exited, status=1/FAILURE
5月 18 20:54:45 free1 systemd[1]: Failed to start Docker Application Container Engine.
5月 18 20:54:45 free1 systemd[1]: Unit docker.service entered failed state.
5月 18 20:54:45 free1 systemd[1]: docker.service failed.
5月 18 20:54:47 free1 systemd[1]: docker.service holdoff time over, scheduling restart.
5月 18 20:54:47 free1 systemd[1]: Stopped Docker Application Container Engine.

根据提供的日志信息,Docker服务启动失败的原因是无法配置Docker守护进程(Docker daemon)使用指定的配置文件/etc/docker/daemon.json
由于没有动过该配置文件,所以语法错误什么的基本不可能

解决方法
首先备份下原来的配置文件【可选,推荐】

mv /etc/docker/daemon.json /etc/docker/daemon.json.bak

然后新建空的配置文件

touch /etc/docker/daemon.json

接着重启 docker,start、restart 都行
不出意外的话,成功解决!!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值