split dcevm/hotswap into base docker image

This commit is contained in:
Brian Long 2021-03-15 23:02:53 -04:00
parent 5edb668d24
commit cc970658a5
3 changed files with 7 additions and 29 deletions

View File

@ -1,25 +1,13 @@
FROM ubuntu:${ubuntu.version}
FROM docker.inteligr8.com/inteligr8/java-dcevm-hotswap:${java-dcevm-hotswap.version}
# Configure the Apache Tomcat Catalina script
ENV JAVA_MEMORY_INIT=128m
ENV JAVA_MEMORY_MAX=512m
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 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 && \
@ -38,7 +26,7 @@ RUN cd /var/lib/tomcat/dev && \
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
COPY docker-entrypoint.sh /usr/local/bin
# Add our Apache Tomcat configuration
# This gives us dynamic injection points into the running webapps

View File

@ -1,4 +1,4 @@
#!/bin/bash
CATALINA_OPTS="-Xms${JAVA_MEMORY_INIT} -Xmx${JAVA_MEMORY_MAX} -XX:HotswapAgent=external -javaagent:/usr/local/lib/jvm/hotswap-agent.jar -agentlib:jdwp=transport=dt_socket,address=8000,server=y,suspend=n $CATALINA_OPTS"
CATALINA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}"
exec "$@"

18
pom.xml
View File

@ -3,20 +3,14 @@
<modelVersion>4.0.0</modelVersion>
<groupId>com.inteligr8</groupId>
<artifactId>tomcat-rad</artifactId>
<version>9-1.2</version>
<version>9-1.3</version>
<name>Apache Tomcat for Rapid Application Development</name>
<packaging>pom</packaging>
<properties>
<!-- The release version of Ubuntu to use as the base -->
<!-- See: https://hub.docker.com/_/ubuntu -->
<!-- This has very little impact and may be replaced -->
<ubuntu.version>20.04</ubuntu.version>
<!-- The version of Java DCEVM to use for executing Apache Tomcat -->
<!-- See: https://github.com/TravaOpenJDK/trava-jdk-11-dcevm/releases -->
<dcevm.version>11.0.10+4</dcevm.version>
<dcevm.majorVersion>11</dcevm.majorVersion>
<!-- The release version of the Java DCEVM Hotswap Docker image -->
<!-- See: https://bitbucket.org/inteligr8/java-dcevm-hotswap-docker -->
<java-dcevm-hotswap.version>11.0.10-1.4.1</java-dcevm-hotswap.version>
<!-- The version of Apache Tomcat to serve as the basis of this Docker image -->
<!-- See: https://tomcat.apache.org/download-90.cgi -->
@ -24,10 +18,6 @@
<tomcat.majorVersion>9</tomcat.majorVersion>
<tomcat.mirror.baseUrl>https://apache.osuosl.org/tomcat</tomcat.mirror.baseUrl>
<!-- The version of the Hotswap Agent to use -->
<!-- See: https://github.com/HotswapProjects/HotswapAgent/releases -->
<hotswap.version>1.4.1</hotswap.version>
<!-- The Docker image meta-data for pushing the build -->
<image.name>inteligr8/${project.artifactId}</image.name>
<image.tag>${project.version}</image.tag>