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配置如下:
"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