FROM maven:3-amazoncorretto-21-alpine AS builder WORKDIR /workspace COPY pom.xml ./ COPY mvnw ./ COPY .mvn .mvn RUN mvn -B -DskipTests dependency:go-offline COPY src ./src RUN mvn -B -DskipTests package FROM amazoncorretto:21-alpine AS runtime WORKDIR /app COPY --from=builder /workspace/target/*.jar /app/app.jar ENV JAVA_OPTS="-XX:MaxRAMPercentage=75.0 -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/tmp -Djava.security.egd=file:/dev/./urandom" EXPOSE 8080 ENTRYPOINT ["sh", "-c", "exec java $JAVA_OPTS -jar /app/app.jar"]