docker无法启动(systemctl start docker失败)

docker 无法启动故障排查

  • daemon.json配置错误
    • hosts配置

排查方法:

1. 确认systemctl start docker命令流程正确。
	systemctl start docker命令需要在systemctl daemon-reload命令之后运行。
2. 使用命令查看systemctl status docker查看报错原因。(一般来说没啥用)
3. centos使用命令cat /var/log/messages | grep docker查看真正的报错原因。
4. 查对应的问题。

daemon.json配置错误

hosts配置

daemon.json中的hosts配置如下:

"hosts":[
          "tcp://127.0.0.1:2375",
          "unix:///var/run/docker.sock"
  ],

报错
unable to configure the Docker daemon with file /etc/docker/daemon.json: the following directives are specified both as a flag and in the configuration file: hosts: (from flag: [fd://], from file: [tcp://127.0.0.1:2375])
原因:
修改docker.daemon文件后启动失败

daemon.json配置文件中的hosts配置与docker默认启动配置冲突。
docker默认启动配置位于:

/lib/systemd/system/docker.service;ubuntu
/usr/lib/systemd/system/docker.service;centos

vim /usr/lib/systemd/system/docker.service

冲突位置,-H fd://

ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock

解决方法

删除 -H fd://

ExecStart=/usr/bin/dockerd --containerd=/run/containerd/containerd.sock

你可能感兴趣的:(docker,docker)