40 lines
1.0 KiB
Docker
40 lines
1.0 KiB
Docker
FROM eclipse-temurin:19-alpine as jdkbuilder
|
|
|
|
RUN apk add --no-cache binutils
|
|
|
|
ENV MODULES java.base,java.compiler,java.desktop,java.instrument,java.logging,java.management,java.naming,java.scripting,java.security.jgss,java.sql,java.sql.rowset,java.transaction.xa,java.xml,jdk.net,jdk.zipfs
|
|
|
|
RUN jlink --output /myjdk --module-path $JAVA_HOME/jmods --add-modules $MODULES --no-header-files --no-man-pages --strip-debug --compress=2
|
|
|
|
RUN strip -p --strip-unneeded /myjdk/lib/server/libjvm.so
|
|
|
|
FROM alpine
|
|
|
|
RUN apk add --no-cache curl
|
|
|
|
RUN mkdir /app
|
|
RUN mkdir /app/data
|
|
|
|
COPY --from=jdkbuilder /myjdk /myjdk
|
|
COPY app/build/libs/app-with-dependencies*.jar /app/simplenotes.jar
|
|
WORKDIR /app
|
|
|
|
VOLUME /app/data
|
|
|
|
ENV SERVER_HOST 0.0.0.0
|
|
|
|
CMD [ \
|
|
"/myjdk/bin/java", \
|
|
"--add-opens", \
|
|
"java.base/java.nio=ALL-UNNAMED", \
|
|
"-server", \
|
|
"-XX:+UnlockExperimentalVMOptions", \
|
|
"-Xms64m", \
|
|
"-Xmx256m", \
|
|
"-XX:+UseG1GC", \
|
|
"-XX:MaxGCPauseMillis=100", \
|
|
"-XX:+UseStringDeduplication", \
|
|
"-jar", \
|
|
"simplenotes.jar" \
|
|
]
|