29 lines
719 B
Docker
29 lines
719 B
Docker
FROM maven:3.6.3-jdk-14 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 -DskipTests
|
|
|
|
FROM openjdk:14-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"]
|