系统环境:centos 7
docker版本:Docker version 26.1.4, build 5650f9b
问题: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 -l
查看信息,需要有sudo权限。
由报错信息看不出来,使用sudo journalctl -u docker.service
继续查看详细信息。
由上图可以看出来是因为一个无法解析的参数--graph
,导致的。
是因为在docker 19.xx 版本以后使用data-root来代替graph
可以在/etc/docker/daemon.json
中配置,也可以在docker.service
中修改,效果一样
**注意:如果没有这个文件,需要自己创建。给出一个示例如下:
{
"debug": true,
"experimental": false,
"log-level": "info",
"storage-driver": "overlay2",
"data-root": "/var/lib/docker",
"bip": "172.17.0.1/16",
"iptables": true,
"ip6tables": true,
"bridge": "docker0",
"dns": ["8.8.8.8", "8.8.4.4"],
"hosts": ["unix:///var/run/docker.sock"],
"insecure-registries": ["myinsecure.registry.com:5000"],
"registry-mirrors": ["https://mirror.gcr.io"],
"live-restore": true
}
配置说明:
- "debug": true:启用调试模式。
- "experimental": false:禁用实验性功能。
- "log-level": "info":设置日志级别。
- "storage-driver": "overlay2":使用 overlay2 存储驱动。
- "data-root": "/var/lib/docker":设置 Docker 数据目录。
- "bip": "172.17.0.1/16":设置默认网桥 IP 地址。
- "iptables": true 和 "ip6tables": true:启用 IP 规则处理。
- "bridge": "docker0":设置默认桥接网络。
- "dns": ["8.8.8.8", "8.8.4.4"]:设置 DNS 服务器。
- "hosts": ["unix:///var/run/docker.sock"]:设置 Docker 守护进程监听的地址。
- "insecure-registries": ["myinsecure.registry.com:5000"]:设置不安全的注册表地址。
- "registry-mirrors": ["https://mirror.gcr.io"]:设置 Docker 镜像仓库镜像。
- "live-restore": true:启用实时恢复功能,使 Docker 守护进程在重启时保持容器运行状态。
根据自己的需要去配置即可。我这边只需要配置一下data-root即可。
配置完毕后执行sudo systemctl restart docker