阿里云alicloud liunux3-安装docker

你这个错误:

复制代码
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 的镜像源,速度更快且更稳定。

步骤:

  1. 备份旧的 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

  1. 新建阿里云的 Docker repo:

  2. 你这个错误:

    复制代码
    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. 网络环境问题

  3. 服务器所在网络环境可能限制了对外 HTTPS 访问,尤其是某些云服务器有安全组或防火墙限制。

  4. DNS 解析异常,也可能导致无法访问域名。

  5. 你的系统 OpenSSL 库或者 curl 版本太老或有缺陷,导致握手失败。

  6. 可以尝试升级相关包:

  7. 如果你处于公司网络或有 HTTP/HTTPS 代理,需要正确配置代理。

  8. 检查环境变量:

  9. 或尝试临时关闭代理:

  10. 在中国大陆,有时候直接访问 download.docker.com 会不稳定。

  11. 可以考虑使用阿里云提供的 Docker 镜像加速器。

  12. 备份旧的 Docker repo 文件:

  13. 新建阿里云的 Docker repo:

  14. 清理缓存并重试安装:

  15. 你现在是 SSL 连接失败,先检查网络和代理。

  16. 如果是中国网络,推荐切换阿里云镜像源。

  17. 更新系统 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

  18. 清理缓存并重试安装:

    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?