FROM maven:3.9-eclipse-temurin-17 AS build WORKDIR /app COPY pom.xml . RUN mvn dependency:go-offline -B COPY src ./src RUN mvn package -DskipTests -B RUN curl -L -o opentelemetry-javaagent.jar https://github.com/open-telemetry/opentelemetry-java-instrumentation/releases/latest/download/opentelemetry-javaagent.jar FROM eclipse-temurin:17-jre-alpine # Best practice: run as a non-root user RUN addgroup -S spring && adduser -S spring -G spring USER spring:spring WORKDIR /app COPY --from=build /app/target/app.jar app.jar COPY --from=build /app/opentelemetry-javaagent.jar opentelemetry-javaagent.jar EXPOSE 8080 ENTRYPOINT ["java", "-javaagent:opentelemetry-javaagent.jar", "-jar", "app.jar"]