# Ultra-lean container using Google Distroless # Expected final size: ~120-180MB (minimal base + JRE + JAR only) FROM gcr.io/distroless/java21-debian12:nonroot # Set working directory WORKDIR /app # Copy JAR file COPY build/libs/da-policyengine.jar app.jar # Expose standard Spring Boot port EXPOSE 8080 # Run application (distroless has no shell, so use exec form) ENTRYPOINT ["java", \ "-XX:+UseContainerSupport", \ "-XX:MaxRAMPercentage=75.0", \ "-XX:+UseG1GC", \ "-XX:+UseStringDeduplication", \ "-Djava.security.egd=file:/dev/./urandom", \ "-Dspring.backgroundpreinitializer.ignore=true", \ "-jar", "app.jar"]