refactored to not use ubuntu packages, but raw packages
This commit is contained in:
54
Dockerfile
54
Dockerfile
@@ -4,34 +4,46 @@ FROM ubuntu:${ubuntu.version}
|
||||
# Configure the Apache Tomcat Catalina script
|
||||
ENV JAVA_MEMORY_INIT=128m
|
||||
ENV JAVA_MEMORY_MAX=512m
|
||||
ENV JAVA_HOME="/usr/lib/jvm/java-${java.majorVersion}-openjdk-amd64"
|
||||
ENV CATALINA_HOME="/usr/share/tomcat${tomcat.majorVersion}"
|
||||
ENV CATALINA_BASE="/var/lib/tomcat${tomcat.majorVersion}"
|
||||
ENV JAVA_HOME="/usr/local/lib/jvm/java-openjdk-dcevm"
|
||||
ENV CATALINA_HOME="/usr/local/share/tomcat"
|
||||
ENV CATALINA_BASE="/var/lib/tomcat"
|
||||
ENV CATALINA_OPTS=
|
||||
|
||||
# Install the latest Apache Tomcat and its Java dependencies
|
||||
RUN apt update && apt -y install curl && \
|
||||
apt -y install openjdk-${java.majorVersion}-jdk-headless && \
|
||||
apt -y install openjdk-${java.majorVersion}-jre-dcevm && \
|
||||
apt -y install tomcat${tomcat.majorVersion} && \
|
||||
cd /var/lib/tomcat${tomcat.majorVersion}/lib && \
|
||||
curl -OL https://github.com/HotswapProjects/HotswapAgent/releases/download/RELEASE-${hotswap.version}/hotswap-agent-${hotswap.version}.jar
|
||||
# Install curl
|
||||
RUN apt update && apt -y install curl
|
||||
|
||||
# Download & Install DCEVM Java
|
||||
RUN mkdir -p /usr/local/lib/jvm && \
|
||||
curl -L https://github.com/TravaOpenJDK/trava-jdk-${dcevm.majorVersion}-dcevm/releases/download/dcevm-${dcevm.version}/java${dcevm.majorVersion}-openjdk-dcevm-linux.tar.gz -o /usr/local/lib/jvm/java-openjdk-dcevm.tar.gz && \
|
||||
cd /usr/local/lib/jvm && tar xzvf java-openjdk-dcevm.tar.gz && mv dcevm-${dcevm.version} java-openjdk-dcevm && rm java-openjdk-dcevm.tar.gz
|
||||
|
||||
# Download Hotswap Agent
|
||||
RUN curl -L https://github.com/HotswapProjects/HotswapAgent/releases/download/RELEASE-${hotswap.version}/hotswap-agent-${hotswap.version}.jar -o /usr/local/lib/jvm/hotswap-agent.jar
|
||||
|
||||
# Download & Install Apache Tomcat
|
||||
RUN mkdir -p /usr/local/share && \
|
||||
curl -L ${tomcat.mirror.baseUrl}/tomcat-${tomcat.majorVersion}/v${tomcat.version}/bin/apache-tomcat-${tomcat.version}.tar.gz -o /usr/local/share/apache-tomcat.tar.gz && \
|
||||
cd /usr/local/share && tar xzvf apache-tomcat.tar.gz && mv apache-tomcat-${tomcat.version} tomcat && rm apache-tomcat.tar.gz
|
||||
|
||||
# Split Catalina Home & Base
|
||||
RUN cd /usr/local/share/tomcat && \
|
||||
mv webapps webapps.ignore && \
|
||||
mkdir -p /var/lib/tomcat/webapps /var/lib/tomcat/lib /var/lib/tomcat/dev && \
|
||||
mv conf work temp logs /var/lib/tomcat
|
||||
|
||||
# Add directories for dynamic injection points
|
||||
RUN cd /var/lib/tomcat/dev && \
|
||||
mkdir classes classes-extra1 classes-extra2 classes-extra3 classes-extra4 classes-extra5 classes-extra6 classes-extra7 && \
|
||||
mkdir lib lib-extra1 lib-extra2 lib-extra3 lib-extra4 lib-extra5 lib-extra6 lib-extra7 && \
|
||||
mkdir web web-extra1 web-extra2 web-extra3 web-extra4 web-extra5 web-extra6 web-extra7
|
||||
|
||||
# Add our Docker container initialization script
|
||||
ADD docker-entrypoint.sh /usr/local/bin
|
||||
|
||||
# Add our Apache Tomcat configuration
|
||||
# This gives us dynamic injection points into the running webapps
|
||||
COPY tomcat-context.xml /etc/tomcat${tomcat.majorVersion}/context.xml
|
||||
COPY hotswap-agent.properties /var/lib/tomcat${tomcat.majorVersion}/lib
|
||||
|
||||
# Add directories for dynamic injection points
|
||||
RUN cd /var/lib/tomcat${tomcat.majorVersion} && \
|
||||
rm -rf webapps/ROOT* && \
|
||||
mkdir dev && cd dev && \
|
||||
mkdir classes classes-extra1 classes-extra2 classes-extra3 classes-extra4 classes-extra5 classes-extra6 classes-extra7 && \
|
||||
mkdir lib lib-extra1 lib-extra2 lib-extra3 lib-extra4 lib-extra5 lib-extra6 lib-extra7 && \
|
||||
mkdir web web-extra1 web-extra2 web-extra3 web-extra4 web-extra5 web-extra6 web-extra7
|
||||
COPY tomcat-context.xml /var/lib/tomcat/conf/context.xml
|
||||
ADD hotswap-agent.properties /var/lib/tomcat/lib
|
||||
|
||||
# Listening for HTTP (not HTTPS) traffic
|
||||
EXPOSE 8080
|
||||
@@ -46,4 +58,4 @@ EXPOSE 8000
|
||||
ENTRYPOINT [ "/usr/local/bin/docker-entrypoint.sh" ]
|
||||
|
||||
# Start the Apache Tomcat web container using the Catalina script
|
||||
CMD [ "/usr/share/tomcat${tomcat.majorVersion}/bin/catalina.sh", "run" ]
|
||||
CMD [ "/usr/local/share/tomcat/bin/catalina.sh", "run" ]
|
||||
|
Reference in New Issue
Block a user