SimpleNotes/api/Dockerfile

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"]