Error: Failed to download metadata for repo 'appstream': Cannot prepare internal mirrorlist: No URLs in mirrorlist
docker 在打包安装vim报上面这个错误,出现这种错误有两种情况:
第一种情况检查网络连接,使用"ping www.baidu.com"检查是否有外网,如果没有外网检查网络连接,如果有外网继续看下面这个情况。
第二种情况就是CentOS在2020 年 12 月 8 号,CentOS 官方宣布了停止维护 CentOS Linux 的计划,并推出了 CentOS Stream 项目,CentOS Linux 8 作为 RHEL 8 的复刻版本,生命周期缩短,于 2021 年 12 月 31 日停止更新并停止维护(EOL)。
针对第二种情况的解决方法有两种:
第一种:更换你的centos版本,要求版本小于8版本
更改版本为centos7
FROM centos:centos7
RUN yum -y install vim
第二种:更改镜像,需要将镜像从 mirror.centos.org 更改为 vault.centos.org
编写Dockerfile,添加红色部分
FROM centos:latest
RUN cd /etc/yum.repos.d/
RUN sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-*
RUN sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-*
RUN yum update -y
RUN yum -y install vim
最后重新打包镜像
docker buil -t mycentos:1 .
这样这个问题就完美解决了。
来源地址:https://blog.csdn.net/weixin_51689532/article/details/127533832