layer层数太多,没有将命令合并为一条命令FROM jenkins/jenkins:2.194 MAINTAINER tiandong9860806@linuxidc.com USER root
ENV MAVEN_HOME /usr/local/maven ENV Java_HOME /usr/local/java ENV M2=/usr/local/maven/repository ENV CLASSPATH .:$JAVA_HOME/lib:$M2_HOME/lib ENV PATH $MAVEN_HOME/bin:$JAVA_HOME/bin:$PATH
RUN mkdir -p /usr/local/java RUN mkdir -p /usr/local/maven/repositoryCOPY soft/apache-maven-3.5.4/* /usr/local/ COPY soft/jre1.8.0_212/* /usr/local/java/
layer层数很少,将全部命令合并为一条命令FROM jenkins/jenkins:2.194 MAINTAINER tiandong9860806@linuxidc.comUSER root && \ ENV MAVEN_HOME /usr/local/maven && \ ENV JAVA_HOME /usr/local/java && \ ENV M2 /usr/local/maven/repository && \ ENV CLASSPATH .:$JAVA_HOME/lib:$M2_HOME/lib && \ ENV PATH $MAVEN_HOME/bin:$JAVA_HOME/bin:$PATH && \
RUN mkdir -p /usr/local/java && \ RUN mkdir -p /usr/local/maven/repository && \COPY soft/apache-maven-3.5.4/* /usr/local/ && \ COPY soft/jre1.8.0_212/* /usr/local/java/
我们检查结果发现第二个dockerfile生成的镜像文件大小要比前者体积小300MB。root >> docker images