在阿里云服务器上 docker build 出现错误
Error: Failed to download metadata for repo 'appstream': Cannot prepare internal mirrorlist: No URLs
[root@Agustletmen dockerfile]# docker run -f /home/dockerfile/mydockerfile-centos -t mycentos:0.1 .
unknown shorthand flag: 'f' in -f
See 'docker run --help'.
[root@Agustletmen dockerfile]# docker build -f /home/dockerfile/mydockerfile-centos -t mycentos:0.1 .
Sending build context to Docker daemon 2.048kB
Step 1/10 : FROM centos
---> 5d0da3dc9764
Step 2/10 : MAINTAINER qx<3066686488@qq.com>
---> Using cache
---> f25871e5ab22
Step 3/10 : ENV MYPATH /usr/local
---> Using cache
---> 48e5adc23206
Step 4/10 : WORKDIR $MYPATH
---> Using cache
---> 3c7e4ff9ca5d
Step 5/10 : RUN yum -y install vim
---> Running in 71b82bf5f0ac
CentOS Linux 8 - AppStream 30 B/s | 38 B 00:01
Error: Failed to download metadata for repo 'appstream': Cannot prepare internal mirrorlist: No URLs in mirrorlist
The command '/bin/sh -c yum -y install vim' returned a non-zero code: 1
原因:因为centOS8于2021年12月31日停止了源的服务,而现在时间是2022年3月了,所以之前的方法都不行的原因所在(本质是源的问题)。
解决方案:未具体指明 centos7 的镜像时,它会默认去找最新的镜像,然后就一直失败
因为我的宿主机的是centos 7.9.2009的
因此在下载的时候下载了7.9.2009
docker pull centos:7.9.2009
将脚本中FROM centos改成指定版本FROM centos:7.9.2009
即可成功
FROM centos:7.9.2009
MAINTAINER qx<888666@qq.com>
ENV MYPATH /usr/local
WORKDIR $MYPATH
RUN yum -y install vim
RUN yum -y install net-tools
EXPOSE 80
CMD echo $MYPATH
CMD echo "-----end----"
CMD /bin/bash