“CentOS 上 Docker 报错”原因有很多,不看到完整报错信息只能给你一份常见原因清单 + 对应解决办法。你可以对照一下,也可以把报错贴出来我帮你精准看。
Cannot connect to the Docker daemon报错示例
Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
原因
解决
# 启动 docker
systemctl start docker
systemctl enable docker
# 把当前用户加入 docker 组
usermod -aG docker $USER
# 重新登录
报错示例
permission denied
overlay2: unknown
kernel too old
原因
解决
# 升级内核
yum install -y kernel
reboot
或改用:
docker-ce 老版本Failed to start Docker Application Container Engine报错示例
Job for docker.service failed
常见原因
解决
# 关闭 SELinux(测试用)
setenforce 0
# 修改 docker 存储驱动
cat > /etc/docker/daemon.json <<EOF
{
"storage-driver": "overlay2"
}
EOF
systemctl restart docker
报错示例
net/http: TLS handshake timeout
原因
解决(国内镜像)
cat > /etc/docker/daemon.json <<EOF
{
"registry-mirrors": [
"https://docker.m.daocloud.io",
"https://hub-mirror.c.163.com"
]
}
EOF
systemctl restart docker
device mapper 报错(CentOS 老系统)解决
# 改用 overlay2
yum install -y yum-utils
yum-config-manager --add-repo ...
docker version
systemctl status docker
journalctl -xeu docker
uname -a
直接贴:
1. CentOS 版本(cat /etc/redhat-release)
2. docker 版本
3. 完整报错(复制粘贴)
我可以一条一条帮你定位并给出命令。