Skip to content

Instantly share code, notes, and snippets.

@prashant-shahi
Created January 9, 2019 07:41
Show Gist options
  • Select an option

  • Save prashant-shahi/e46eedb7377bb6652f685e83ef0346a2 to your computer and use it in GitHub Desktop.

Select an option

Save prashant-shahi/e46eedb7377bb6652f685e83ef0346a2 to your computer and use it in GitHub Desktop.
Dockerfile for OpenJDK-11 - Build using maven and Run without maven
FROM openjdk:11-jdk as build-image
ARG MAVEN_VERSION=3.6.0
ARG USER_HOME_DIR="/root"
ARG SHA=fae9c12b570c3ba18116a4e26ea524b29f7279c17cbaadc3326ca72927368924d9131d11b9e851b8dc9162228b6fdea955446be41207a5cfc61283dd8a561d2f
ARG BASE_URL=https://apache.osuosl.org/maven/maven-3/${MAVEN_VERSION}/binaries
# Maven fails with 'Can't read cryptographic policy directory: unlimited'
# because it looks for $JAVA_HOME/conf/security/policy/unlimited but it is in
# /etc/java-9-openjdk/security/policy/unlimited
RUN ln -s /etc/java-11-openjdk /usr/lib/jvm/java-11-openjdk-$(dpkg --print-architecture)/conf
RUN mkdir -p /usr/share/maven /usr/share/maven/ref /usr/src/app \
&& curl -fsSL -o /tmp/apache-maven.tar.gz ${BASE_URL}/apache-maven-${MAVEN_VERSION}-bin.tar.gz \
&& echo "${SHA} /tmp/apache-maven.tar.gz" | sha512sum -c - \
&& tar -xzf /tmp/apache-maven.tar.gz -C /usr/share/maven --strip-components=1 \
&& rm -f /tmp/apache-maven.tar.gz \
&& ln -s /usr/share/maven/bin/mvn /usr/bin/mvn
ENV MAVEN_HOME /usr/share/maven
ENV MAVEN_CONFIG "$USER_HOME_DIR/.m2"
COPY . /usr/src/app
RUN /usr/local/bin/mvn-entrypoint.sh && mvn clean install
FROM openjdk:11-jdk
COPY --from=build-image /usr/src/app/target/*.jar ./
ENTRYPOINT ["java -jar *-jar-with-dependencies.jar"]
EXPOSE 8010
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment