FROM maven:3.6.3-jdk-13 as builder WORKDIR /tmp # Cache dependencies COPY api/pom.xml . RUN mvn verify clean --fail-never COPY api/resources resources COPY api/src src COPY api/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"]