28 lines
690 B
Docker
28 lines
690 B
Docker
FROM maven:3.6.3-jdk-13 as builder
|
|
|
|
WORKDIR /tmp
|
|
|
|
# Cache dependencies
|
|
COPY pom.xml .
|
|
RUN mvn verify clean --fail-never
|
|
|
|
COPY resources resources
|
|
COPY src src
|
|
COPY test test
|
|
|
|
RUN mvn package
|
|
|
|
FROM openjdk:13-alpine
|
|
|
|
ENV APPLICATION_USER ktor
|
|
RUN adduser -D -g '' $APPLICATION_USER
|
|
|
|
RUN mkdir /app
|
|
RUN chown -R $APPLICATION_USER /app
|
|
|
|
USER $APPLICATION_USER
|
|
|
|
COPY --from=builder /tmp/target/api-*-jar-with-dependencies.jar /app/notes-api.jar
|
|
WORKDIR /app
|
|
|
|
CMD ["java", "-server", "-XX:+UnlockExperimentalVMOptions", "-XX:InitialRAMFraction=2", "-XX:MinRAMFraction=2", "-XX:MaxRAMFraction=2", "-XX:+UseG1GC", "-XX:MaxGCPauseMillis=100", "-XX:+UseStringDeduplication", "-jar", "notes-api.jar"] |