你这个错误:
Curl error (35): SSL connect error for https://download.docker.com/linux/centos/8/x86_64/stable/...
Error: Failed to download metadata for repo 'docker-ce-stable': Yum repo downloading error
说明你的机器访问 download.docker.com
的 HTTPS 连接失败了,导致无法从 Docker 官方仓库拉取数据。
可能原因和解决方案
1. 网络环境问题
服务器所在网络环境可能限制了对外 HTTPS 访问,尤其是某些云服务器有安全组或防火墙限制。
DNS 解析异常,也可能导致无法访问域名。
排查:
curl -v https://download.docker.com/linux/centos/8/x86_64/stable/repodata/repomd.xml
看具体连接哪里失败。
2. 系统 OpenSSL 或 curl 版本问题
你的系统 OpenSSL 库或者 curl 版本太老或有缺陷,导致握手失败。
可以尝试升级相关包:
sudo dnf update -y openssl curl ca-certificates
3. 代理或中间网络设备干扰
如果你处于公司网络或有 HTTP/HTTPS 代理,需要正确配置代理。
检查环境变量:
echo $HTTP_PROXY
echo $HTTPS_PROXY
或尝试临时关闭代理:
unset HTTP_PROXY
unset HTTPS_PROXY
unset http_proxy
unset https_proxy
4. Docker 仓库地址被墙或访问受限
在中国大陆,有时候直接访问
download.docker.com
会不稳定。可以考虑使用阿里云提供的 Docker 镜像加速器。
临时解决办法
使用阿里云镜像仓库代替 Docker 官方仓库
阿里云提供了 Docker CE 的镜像源,速度更快且更稳定。
步骤:
备份旧的 Docker repo 文件:
sudo mv /etc/yum.repos.d/docker-ce.repo /etc/yum.repos.d/docker-ce.repo.bak
排查:
curl -v https://download.docker.com/linux/centos/8/x86_64/stable/repodata/repomd.xml
看具体连接哪里失败。
2. 系统 OpenSSL 或 curl 版本问题
sudo dnf update -y openssl curl ca-certificates
3. 代理或中间网络设备干扰
echo $HTTP_PROXY
echo $HTTPS_PROXY
unset HTTP_PROXY
unset HTTPS_PROXY
unset http_proxy
unset https_proxy
4. Docker 仓库地址被墙或访问受限
临时解决办法
使用阿里云镜像仓库代替 Docker 官方仓库
阿里云提供了 Docker CE 的镜像源,速度更快且更稳定。
步骤:
sudo mv /etc/yum.repos.d/docker-ce.repo /etc/yum.repos.d/docker-ce.repo.bak
sudo tee /etc/yum.repos.d/docker-ce.repo <<EOF
[docker-ce-stable]
name=Docker CE Stable - Aliyun Mirror
baseurl=https://mirrors.aliyun.com/docker-ce/linux/centos/8/x86_64/stable/
enabled=1
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/docker-ce/linux/centos/gpg
EOF
总结
如果你需要,我可以帮你写好阿里云镜像源的 repo 文件和完整安装脚本。你看怎么样?
sudo dnf clean all
sudo dnf makecache
sudo dnf install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin
新建阿里云的 Docker repo:
你这个错误:
Curl error (35): SSL connect error for https://download.docker.com/linux/centos/8/x86_64/stable/... Error: Failed to download metadata for repo 'docker-ce-stable': Yum repo downloading error
说明你的机器访问
download.docker.com
的 HTTPS 连接失败了,导致无法从 Docker 官方仓库拉取数据。可能原因和解决方案
1. 网络环境问题
服务器所在网络环境可能限制了对外 HTTPS 访问,尤其是某些云服务器有安全组或防火墙限制。
DNS 解析异常,也可能导致无法访问域名。
你的系统 OpenSSL 库或者 curl 版本太老或有缺陷,导致握手失败。
可以尝试升级相关包:
如果你处于公司网络或有 HTTP/HTTPS 代理,需要正确配置代理。
检查环境变量:
或尝试临时关闭代理:
在中国大陆,有时候直接访问
download.docker.com
会不稳定。可以考虑使用阿里云提供的 Docker 镜像加速器。
备份旧的 Docker repo 文件:
新建阿里云的 Docker repo:
清理缓存并重试安装:
你现在是 SSL 连接失败,先检查网络和代理。
如果是中国网络,推荐切换阿里云镜像源。
更新系统 SSL 组件也有帮助。
[docker-ce-stable]
name=Docker CE Stable - Aliyun Mirror
baseurl=https://mirrors.aliyun.com/docker-ce/linux/centos/8/x86_64/stable/
enabled=1
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/docker-ce/linux/centos/gpg
清理缓存并重试安装:
sudo dnf clean all
sudo dnf makecache
sudo dnf install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin
总结
你现在是 SSL 连接失败,先检查网络和代理。
如果是中国网络,推荐切换阿里云镜像源。
更新系统 SSL 组件也有帮助。
docker version
Client: Docker Engine - Community
Version: 26.1.3
API version: 1.45
Go version: go1.21.10
Git commit: b72abbb
Built: Thu May 16 08:34:39 2024
OS/Arch: linux/amd64
Context: default
Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?