解决dockerfile出现的Error: Failed to download metadata for repo ‘appstream‘: Cannot prepar

问题

Error: Failed to download metadata for repo ‘appstream’: Cannot prepare internal mirrorlist: No URLs in mirrorlist
尝试过很多解决方案(包括:换镜像源,防火墙,selinux等),也换过很多系统(包括:阿里云服务器,centos7,centos8)都没有解决这个问题,最后指定了 centos镜像为 centos7 后成功了,阿里云服务器,centos7,centos8这三种环境均是以此为解决方案。
#猜测是最新的centos镜像存在问题,所以我更换为了centos7的镜像

解决方案(阿里云、centos7、centos8均是以此解决的)

  1. 查看本地镜像
    在这里插入图片描述

未具体指明 centos7 的镜像时,它会默认去找最新的镜像:失败(具体的shell脚本)

docker pull centos:centos7
cat >>df2<<EOF
FROM centos
RUN yum install -y wget net-tools
CMD echo "Hello Wolrd"
EOF
docker build -f df2 -t image_name .
# . 是输出路径
# 上下文路径,是指 docker 在构建镜像,有时候想要使用到本机的文件(比如复制),docker build 命令得知这个路径后,会将路径下的所有内容打包。

  
  

    在这里插入图片描述

    具体指明使用centos7的镜像:成功(具体的shell脚本)

    #如果要具体执行的话,请将上面那串代码也一并复制粘贴

    sed "s/cen.*/centos:centos7/" df2 > df3
    docker build -f df3 -t image_name .
    docker images | grep image.*
    
      
      

      在这里插入图片描述
      Successfully built 348a7ee19977 Successfully tagged image_name:latest
      在这里插入图片描述
      #虽成功构建了镜像,但心累

      • 1
        点赞
      • 2
        收藏
        觉得还不错? 一键收藏
      • 0
        评论

      “相关推荐”对你有帮助么?

      • 非常没帮助
      • 没帮助
      • 一般
      • 有帮助
      • 非常有帮助
      提交
      评论
      添加红包

      请填写红包祝福语或标题

      红包个数最小为10个

      红包金额最低5元

      当前余额3.43前往充值 >
      需支付:10.00
      成就一亿技术人!
      领取后你会自动成为博主和红包主的粉丝 规则
      hope_wisdom
      发出的红包
      实付
      使用余额支付
      点击重新获取
      扫码支付
      钱包余额 0

      抵扣说明:

      1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
      2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

      余额充值