docker使用alpine系統構建tomcat鏡像


FROM frolvlad/alpine-oraclejdk8
#此鏡像使用alpine-glibc系統,精簡jdk,只運行java程序,無法編譯/構建
MAINTAINER huqiang:2018/10/12
ENV VERSION=8.5.34
ENV CATALINA_HOME /usr/local/tomcat
ENV PATH $CATALINA_HOME/bin:$PATH
ENV CATALINA_OPTS=" \
-Xms1g \
-Xmx1g  \ 
-Xss512k \
-Xmn500m \
-XX:MetaspaceSize=128m  \
-XX:MaxMetaspaceSize=512m \ 
-Xloggc:$CATALINA_HOME/logs/gc.log \
-XX:+PrintGCDetails  \
-XX:+PrintGCDateStamps \ 
-XX:+PrintPromotionFailure \ 
-XX:-UseBiasedLocking  \ 
-XX:AutoBoxCacheMax=20000 \  
-XX:+AlwaysPreTouch  \
-Djava.security.egd=file:/dev/./urandom \
-XX:+ExplicitGCInvokesConcurrent  \
-XX:+ParallelRefProcEnabled  \
-XX:+UseConcMarkSweepGC  \
-XX:CMSInitiatingOccupancyFraction=75  \
-XX:+UseCMSInitiatingOccupancyOnly  \
-XX:-CMSClassUnloadingEnabled  \
-XX:+CMSScavengeBeforeRemark \
-XX:+HeapDumpOnOutOfMemoryError   \
-XX:HeapDumpPath=$CATALINA_HOME/logs  \
-XX:OnOutOfMemoryError=$CATALINA_HOME/bin/stop.sh  \
-XX:ErrorFile=$CATALINA_HOME/logs/hs_err_%p.log  \
-XX:+PrintCommandLineFlags  \
-XX:+PrintFlagsFinal  \
-XX:-OmitStackTraceInFastThrow \
-Duser.timezone=Asia/Shanghai  \
-Djavax.servlet.request.encoding=UTF-8 \
-Djavax.servlet.response.encoding=UTF-8 \
-Dfile.encoding=UTF-8 \
-Duser.country=CN \
-Duser.language=zh \
-Djava.awt.headless=true \
-Dcom.sun.management.jmxremote.port=1099  \
-Dcom.sun.management.jmxremote.ssl=false  \
-Dcom.sun.management.jmxremote.authenticate=false \
-Djava.rmi.server.hostname=www.tomcat.com" 
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
RUN apk add --no-cache --virtual=build-dependencies wget
RUN wget http://mirrors.shu.edu.cn/apache/tomcat/tomcat-8/v${VERSION}/bin/apache-tomcat-${VERSION}.tar.gz \
&& tar zxf apache-tomcat-${VERSION}.tar.gz \
&& mv apache-tomcat-${VERSION} $CATALINA_HOME \
&& apk del build-dependencies \
&& rm -rf apache-tomcat-${VERSION}.tar.gz $CATALINA_HOME/webapps/* $CATALINA_HOME/bin/*.bat \
&& mkdir $CATALINA_HOME/webapps/ROOT \
# 處理Tomcat啟動慢問題(隨機數產生器初始化過慢)
&& sed -i "s#securerandom.source=file:/dev/random#securerandom.source=file:/dev/./urandom#g" $JAVA_HOME/jre/lib/security/java.security

WORKDIR $CATALINA_HOME
EXPOSE 8080
CMD ["catalina.sh", "run"]

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM