内容提要
文章介绍CentOS 8因EOL导致yum源失效的解决办法:将yum源改为阿里云centos-vault镜像,清理并重建缓存;随后安装yum-utils等依赖,添加阿里云Docker仓库,安装docker-ce,并用systemctl启动Docker。
延伸解读
CentOS 8 EOL 是安装失败的根源
文章指出,CentOS Linux 8 已结束生命周期(EOL),官方不再维护,其镜像和 yum 源迁移至 vault.centos.org,导致默认 yum 源失效,出现“Cannot prepare internal mirrorlist”错误。这意味着在 CentOS 8 上直接使用 yum 安装软件会失败,必须先修复源。读者应意识到,这不是 Docker 安装本身的问题,而是系统基础环境已过时,需优先处理源配置。
切换阿里云 vault 源的关键细节
文章给出的方案是将 yum 源替换为阿里云 centos-vault 镜像,并强调需使用完整的次要版本号(如 CentOS 8 的 8.5.2111),而非 $releasever 变量。同时提醒,切换后要执行 yum clean all 和 yum makecache 清理并重建缓存,且不推荐混用不同 yum 源,以免升级时出现未知错误。这些细节直接影响源切换能否成功,读者操作时需严格对照版本号并避免源混用。
安装 Docker 的依赖与仓库步骤
在源修复后,文章先安装 yum-utils、device-mapper-persistent-data 和 lvm2 等依赖,其中后两者在示例中已预装。接着通过 yum-config-manager 添加阿里云 Docker CE 仓库,再执行 yum -y install docker-ce 安装。安装过程会自动处理 containerd.io、docker-ce-cli 及 buildx、compose 插件等依赖,并导入 Docker GPG 密钥。这表明 Docker 安装依赖仓库配置正确,读者应确保仓库添
启动验证与版本信息解读
安装完成后,文章使用 systemctl start docker 启动服务,并通过 docker info 验证。输出显示 Docker Engine 版本为 24.0.7,存储驱动为 overlay2,底层文件系统为 xfs,Cgroup 驱动为 cgroupfs,Cgroup 版本为 1。这些信息可用于确认 Docker 是否正常运行及环境配置。读者可对照自己的输出,检查版本和驱动是否符合预期,但文章未涉及开机自启或用户权限配置,需另行处理。
Q&A
CentOS 8 用 yum 安装软件时报错“Cannot prepare internal mirrorlist: No URLs in mirrorlist”是什么原因?
原因是 CentOS Linux 8 已结束生命周期(EOL),官方不再维护,其镜像和 yum 源已迁移到 https://vault.centos.org,导致原有的 yum 源地址失效。
如何将 CentOS 8 的 yum 源替换为阿里云 centos-vault 镜像?
编辑 /etc/yum.repos.d/ 下的 repo 文件:注释掉 mirrorlist= 开头的行,取消 #baseurl= 行的注释,并将 baseurl 中的域名和路径替换为 mirrors.aliyun.com/centos-vault/$minorver($minorver 为完整版本号,如 8.5.2111)。可以使用 sed 命令批量修改,例如:minorver=8.5.2111; sudo sed -e "s|^mirrorlist=|#mirrorlist=|g" -e "s|^#baseurl=http://mirror.centos.org/\$contentdir/\$releasever|baseurl=https://mirrors.aliyun.com/centos-vault/$minorver|g" -i.bak /etc/yum.repos.d/CentOS-*.repo
切换 yum 源后需要清理缓存吗?具体命令是什么?
需要。切换源后应先执行 yum clean all 清理旧缓存,然后执行 yum makecache 重新生成缓存。
在 CentOS 8 上安装 Docker 前需要安装哪些依赖包?
需要安装 yum-utils、device-mapper-persistent-data 和 lvm2。命令为:yum install -y yum-utils device-mapper-persistent-data lvm2。
如何添加阿里云的 Docker 仓库并安装 docker-ce?
先执行 yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo 添加仓库,然后执行 yum -y install docker-ce 安装 Docker CE。
安装完 Docker 后如何启动并验证是否安装成功?
使用 systemctl start docker 启动 Docker 服务,然后运行 docker info 查看 Docker 客户端和服务端信息,若显示版本号等信息即表示安装成功。