在容器中创建的自己的centos,遇见的报错:Errors during downloading metadata for repository 'appstream':
编写Dockerfile文件
vim mydockerfile-centos
FROM centos MAINTAINER zhaowx<549334961@qq.com> ENV MYPATH /usr/local WORKDIR $MYPATH RUN yum install -y vim net-tools tcpdump EXPOSE 80 CMD echo $MYPATH CMD echo "---------end---------" CMD /bin/bash
通过刚刚编写的Dockerfile,构建镜像
docker build -f mydockerfile-centos -t mycentos:0.2 .
解决思路
由于centos8的官方镜像已经停止维护,而docker pull默认是last版本,也就是centos8,所以有了以下两种解决办法
1.删除最新镜像,拉取7版本的镜像
FROM centos:7.9.2009 MAINTAINER zhaowx<549334961@qq.com> ENV MYPATH /usr/local WORKDIR $MYPATH RUN yum install -y vim net-tools tcpdump EXPOSE 80 CMD echo $MYPATH CMD echo "---------end---------" CMD /bin/bash
2.在Dockerfile中安装命令之前,执行修改配置,将镜像改为【https://vault.centos.org】
FROM centos MAINTAINER zhaowx<549334961@qq.com> ENV MYPATH /usr/local WORKDIR $MYPATH 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 sed -i 's|gpgcheck=1|gpgcheck=0|g' /etc/yum.repos.d/CentOS-* RUN yum clean all ; yum makecache RUN yum install -y vim net-tools tcpdump EXPOSE 80 CMD echo $MYPATH CMD echo "---------end---------" CMD /bin/bash
开源改变生活