记录docker启动失败,dockerd: unable to configure the Docker daemon with file /etc/docker/daemon.json

启动docker时,报错

启动 docker: systemctl start docker

报错: Job for docker.service failed because the control process exited with error code. See "systemctl status docker.service" and "journalctl -xe" for details.
按提示查看: systemctl status docker.service

实际上没获得什么有用的信息

 docker.service - Docker Application Container Engine
   Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled)
   Active: failed (Result: start-limit) since Wed 2024-07-10 00:07:41 PDT; 8s ago
     Docs: https://docs.docker.com
  Process: 6079 ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock (code=exited, status=1/FAILURE)
 Main PID: 6079 (code=exited, status=1/FAILURE)

Jul 10 00:07:39 localhost.localdomain systemd[1]: docker.service: main process exited, code=exited,...URE
Jul 10 00:07:39 localhost.localdomain systemd[1]: Failed to start Docker Application Container Engine.
Jul 10 00:07:39 localhost.localdomain systemd[1]: Unit docker.service entered failed state.
Jul 10 00:07:39 localhost.localdomain systemd[1]: docker.service failed.
Jul 10 00:07:41 localhost.localdomain systemd[1]: docker.service holdoff time over, scheduling restart.
Jul 10 00:07:41 localhost.localdomain systemd[1]: Stopped Docker Application Container Engine.
Jul 10 00:07:41 localhost.localdomain systemd[1]: start request repeated too quickly for docker.service
Jul 10 00:07:41 localhost.localdomain systemd[1]: Failed to start Docker Application Container Engine.
Jul 10 00:07:41 localhost.localdomain systemd[1]: Unit docker.service entered failed state.
Jul 10 00:07:41 localhost.localdomain systemd[1]: docker.service failed.
Hint: Some lines were ellipsized, use -l to show in full.

查看 journalctl -xe
情况也类似, 有用信息极少.

查看 Linux 操作日志

情况到这里似乎陷入了僵局,只能尝试查看 linux 的操作日志.

输入指令: tail -200f /var/log/messages

查看200行日志应该足够, 发现一直在重复如下报错:

Jul  9 23:48:56 localhost dockerd: unable to configure the Docker daemon with file /etc/docker/daemon.json: invalid character 's' looking for beginning of object key string
Jul  9 23:48:57 localhost systemd: docker.service: main process exited, code=exited, status=1/FAILURE
Jul  9 23:48:57 localhost systemd: Failed to start Docker Application Container Engine.
Jul  9 23:48:57 localhost systemd: Unit docker.service entered failed state.
Jul  9 23:48:57 localhost systemd: docker.service failed.
Jul  9 23:48:59 localhost systemd: docker.service holdoff time over, scheduling restart.
Jul  9 23:48:59 localhost systemd: Stopped Docker Application Container Engine.
Jul  9 23:48:59 localhost systemd: Starting Docker Application Container Engine...

在第一行找到报错信息: 通过 /etc/docker/daemon.json 这个文件,配置 Docker daemon 时,有个无效的以 "s" 开头的字符串.

问题被成功定位到.

修改 daemon.json 文件

进入这个文件所在文件夹: cd ../etc/docker

发现这个文件是存在的

打开并修改文件: vi daemon.json

看到文件内容为:

{
  stry-mirrors": ["https://registry.docker-cn.com"]
}

原来是镜像源配置出了问题, json 对象的双引号都不全 stry-mirrors".

网上搜索一下 docker 的 daemon.json 文件基础配置,发现此处的格式应为 "registry-mirrors":["镜像源"] ,键盘输入 "i" 并将 "regi 补上, 按下 esc , 并 :wq 保存退出.

修改后:

{
  "registry-mirrors": ["https://registry.docker-cn.com"]
}

启动

重新启动一下 docker: systemctl start docker

查看一下 docker 的状态: systemctl status docker.service

出现以下内容, 即为启动成功

● docker.service - Docker Application Container Engine
   Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled)
   Active: active (running) since Tue 2024-07-09 23:59:33 PDT; 22s ago
     Docs: https://docs.docker.com
 Main PID: 5201 (dockerd)
    Tasks: 8
   Memory: 49.9M
   CGroup: /system.slice/docker.service
           └─5201 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值