基于war包制作应用的tomcat镜像

基于tomcat和应用war制作docker镜像

有两个点需要注意一下

  1. 直接解压war到tomcat目录。尽量不要把war包考到tomcat目录下,因为那样每次启动tomcat都会去解压war导致启动慢
  2. 需要修改java的random设置,否则在服务器上启动程序时会启动很慢

Dockerfile文件例子

FROM tomcat:8-jre8
RUN rm -rf /usr/local/tomcat/webapps/* && mkdir /usr/local/tomcat/webapps/ROOT && mkdir /app
COPY target/test.war /tmp/
RUN unzip -q /tmp/mdata-web.war -d /usr/local/tomcat/webapps/ROOT  > /dev/null 2>&1
ENV CATALINA_OPTS "$CATALINA_OPTS  -Djava.security.egd=file:/dev/./urandom"
RUN old="securerandom.source=file:/dev/random" && \
    new="securerandom.source=file:/dev/./urandom" && \
    sed -i "s#$old#$new#"   $JAVA_HOME/lib/security/java.security 
EXPOSE 8080
CMD ["/usr/local/tomcat/bin/catalina.sh","run"]

你可能感兴趣的:(基于war包制作应用的tomcat镜像)