在容器中创建的自己的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
posted @ 2022-03-13 19:26  shiyunyier  阅读(286)  评论(0编辑  收藏  举报