Centos8安装docker遇到的问题:CentOS Linux 8 - AppStream 错误:为仓库 AppStream下载元数据失败

问题:

如果你使用CentOS 8,你可能已经注意到,从2022年1月31日开始,安装yum包不再工作与错误镜像列表中没有url,类似如下:

Error: Failed to download metadata for repo 'appstream': Cannot prepare internal mirrorlist: No URLs in mirrorlist

如果你使用基于centos的Docker容器镜像,也会遇到同样的问题。

原因

在2022年1月31日,CentOS团队终于从官方镜像中移除CentOS 8的所有包。

CentOS 8已于2021年12月31日寿终正非,但软件包仍在官方镜像上保留了一段时间。现在他们被转移到https://vault.centos.org

解决方法

如果你仍然需要运行你的旧CentOS 8,你可以在/etc/yum.repos中更新repos.d使用vault.centos.org代替mirror.centos.org

下面是两个简单的命令,都需要使用sudo来运行

 
  1. # sudo sed -i -e "s|mirrorlist=|#mirrorlist=|g" /etc/yum.repos.d/CentOS-*

  2. # sudo sed -i -e "s|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g" /etc/yum.repos.d/CentOS-*

本质上是用仍在运行的URL替换之前的URL。这一段时间内应该可以解决这个问题,但请记住,你将不会收到任何CentOS 8的更新。从长远来看,尝试升级到Stream版本。