tomcat目錄檔案:1.apache-tomcat-8.5.43.tar.gz 2.Dockerfile 3.Dockerfile2 4.ROOT.war
RUN yum install java-1.8.0-openjdk wget curl unzip iproute net-tools -y && \
ADD apache-tomcat-${VERSION}.tar.gz /usr/local/
RUN mv /usr/local/apache-tomcat-${VERSION} /usr/local/tomcat && \
sed -i '1a JAVA_OPTS="-Djava.security.egd=file:/dev/./urandom"' /usr/local/tomcat/bin/catalina.sh && \
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
ENV PATH $PATH:/usr/local/tomcat/bin
RUN rm -rf /usr/local/tomcat/webapps/*
COPY ROOT.war /usr/local/tomcat/webapps
docker build -t tomcat:v2 -f Dockerfile2 .
docker run -d -p 8888:8080 --name tomcat tomcat:v2
java目錄檔案:1.Dockerfile 2.hello.jar
LABEL maintainer www.ctnrs.com
ENV JAVA_OPTS="$JAVA_OPTS -Dfile.encoding=UTF8 -Duser.timezone=GMT+08"
RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories && \
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
CMD ["/bin/sh", "-c", "java -jar $JAVA_OPTS /hello.jar"]
減少映象層:一次RUN指令形成新的一層,儘量Shell命令都寫在一行,減少映象層。
最佳化映象大小:一次RUN形成新的一層,如果沒有在同一層刪除,無論檔案是否最後刪除, 都會帶到下一層,所以要在每一層清理對應的殘留資料,減小映象大小。