Skip to content

Instantly share code, notes, and snippets.

@dekstroza
Created October 2, 2018 09:35
Show Gist options
  • Save dekstroza/81cb620fcf882e3b128f1b747225e9cc to your computer and use it in GitHub Desktop.
Save dekstroza/81cb620fcf882e3b128f1b747225e9cc to your computer and use it in GitHub Desktop.
JDK 11 Dockerfile Example
FROM dekstroza/alpine-11-jdk as jvm-packager
RUN jlink \
--module-path /jdk-11/jmods \
--verbose \
--add-modules java.base,java.logging,java.xml,java.naming,java.desktop,java.management,java.datatransfer,java.sql,jdk.unsupported \
--compress 2 \
--no-header-files \
--output /jdk-11-minimal
# Second stage, add only our custom jdk11 distro and our app
FROM alpine:3.8
MAINTAINER Dejan Kitic <kdejan@gmail.com>
RUN addgroup -g 998 appuser && \
adduser -D -u 998 -G appuser appuser
ENTRYPOINT ["./run.sh"]
ARG DIR
ARG JAR
ENV LANG C.UTF-8
ENV JAVA_HOME="/jdk-11-minimal"
ENV PATH=$PATH:${JAVA_HOME}/bin
COPY --from=jvm-packager /jdk-11-minimal /jdk-11-minimal
USER appuser
ADD target/${DIR} /kpi-service
WORKDIR /kpi-service/bin
ADD target/${JAR} /kpi-service/app/
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment