Dockerfile下载vim报错
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
| FROM centos MAINTAINER zzyy<zzyybs@126.com>
ENV MYPATH /usr/local WORKDIR $MYPATH
RUN yum -y install vim
RUN yum -y install net-tools
RUN yum -y install glibc.i686 RUN mkdir /usr/local/java
ADD jdk-8u171-linux-x64.tar.gz /usr/local/java/
ENV JAVA_HOME /usr/local/java/jdk1.8.0_171 ENV JRE_HOME $JAVA_HOME/jre ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib:$CLASSPATH ENV PATH $JAVA_HOME/bin:$PATH
EXPOSE 80
CMD echo $MYPATH CMD echo "success--------------ok" CMD /bin/bash
|
报错记录:

解决方法:
- 在宿主机更新阿里源
原因是由于非阿里云ECS用户无法解析主机“mirrors.cloud.aliyuncs.com”,只需将CentOS-Base里包含aliyuncs.com的行删除即可。
1 2 3 4 5 6 7 8 9 10
| mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
wget -O /etc/yum.repos.d/CentOS-Base.repo [http://mirrors.aliyun.com/repo/Centos-7.repo](https://links.jianshu.com/go?to=http%3A%2F%2Fmirrors.aliyun.com%2Frepo%2FCentos-7.repo)
sed -i -e '/mirrors.cloud.aliyuncs.com/d' -e '/mirrors.aliyuncs.com/d' /etc/yum.repos.d/CentOS-Base.repo
yum makecache
yum -y update
|
- 将阿里源文件复制到Dockerfile所在文件夹中
1
| cp /etc/yum.repos.d/CentOS-Base.repo Dockerfile所在目录
|
- 修改Dockerfile
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
| FROM centos:7
ENV MYPATH /usr/local WORKDIR $MYPATH
RUN mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
COPY CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo
RUN sed -i -e '/mirrors.cloud.aliyuncs.com/d' -e '/mirrors.aliyuncs.com/d' /etc/yum.repos.d/CentOS-Base.repo
RUN yum makecache
RUN yum -y install vim
RUN yum -y install net-tools
RUN yum -y install glibc.i686 RUN mkdir /usr/local/java
ADD jdk-8u431-linux-x64.tar.gz /usr/local/java
ENV JAVA_HOME /usr/local/java/jdk1.8.0_431 ENV JRE_HOME $JAVA_HOME/jre ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib:$CLASSPATH ENV PATH $JAVA_HOME/bin:$PATH
EXPOSE 80
CMD echo $MYPATH CMD echo "success--------------ok" CMD /bin/bash
|