国内服务器安装Docker的报错解决(RHEL等发行版Amazon Linux 2023/AlibabaCloudLinux3等)

2025-11-01 10点热度 0人点赞 0条评论

问题背景

在国内服务器上安装 Docker CE 时,许多运维人员会选择使用阿里云提供的镜像源以加快下载速度。然而,在某些 RHEL 系发行版上(如 Amazon Linux 2023、AlibabaCloud Linux 3 等),按照官方文档操作时会遇到 404 错误,导致安装失败。

问题复现

按照阿里云官方文档(https://developer.aliyun.com/mirror/docker-ce)的步骤操作:

bash
sudo dnf install -y dnf-utils
sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
sudo yum install docker-ce docker-ce-cli containerd.io
```

执行到最后一步时,系统报错:
```
Status code: 404 for https://mirrors.aliyun.com/docker-ce/linux/centos/3/x86_64/stable/repodata/repomd.xml

问题分析

仔细观察错误信息中的 URL 路径 centos/3/x86_64,可以发现中间的数字 3 异常。这个数字来自于 YUM 配置文件中的 $releasever 变量。

问题的根源在于:某些新版本的 RHEL 系发行版(如 AlibabaCloud Linux 3)的 $releasever 变量值与实际可用的 Docker CE 仓库版本不匹配。阿里云镜像站实际上没有提供 centos/3 这个路径,而是提供了 centos/7centos/8 等版本。

解决方案

步骤 1: 编辑 Docker CE 仓库配置文件

使用文本编辑器打开配置文件:

bash
sudo vi /etc/yum.repos.d/docker-ce.repo

步骤 2: 修改 baseurl 配置

找到 [docker-ce-stable] 段落,将:

ini
[docker-ce-stable]
name=Docker CE Stable - $basearch
baseurl=https://mirrors.aliyun.com/docker-ce/linux/centos/$releasever/$basearch/stable
enabled=1
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/docker-ce/linux/centos/gpg

修改为(将 $releasever 替换为固定版本号 8):

ini
[docker-ce-stable]
name=Docker CE Stable - $basearch
baseurl=https://mirrors.aliyun.com/docker-ce/linux/centos/8/$basearch/stable
enabled=1
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/docker-ce/linux/centos/gpg

步骤 3: 重新执行安装命令

bash
sudo yum install docker-ce docker-ce-cli containerd.io

此时应该可以正常安装了。

总结

这个问题的本质是系统的 $releasever 变量检测不准确,导致指向了不存在的仓库路径。通过手动将版本号固定为 8(CentOS 8 的仓库与大多数 RHEL 8 系发行版兼容),即可成功安装 Docker CE。

适用范围

本解决方案适用于以下系统:

  • Amazon Linux 2023
  • AlibabaCloud Linux 3
  • 其他 RHEL 8/9 系发行版出现类似问题时

注意事项

  • 如果使用 CentOS 7,可以将版本号改为 7
  • 修改后建议执行 sudo yum clean all 清除缓存
  • 安装完成后记得启动 Docker 服务:sudo systemctl start docker

admin

这个人很懒,什么都没留下

文章评论

您需要 登录 之后才可以评论