Multi-stage Dockerfile
FROM eclipse-temurin:21-jdk AS build
WORKDIR /app
COPY . .
RUN ./gradlew shadowJar
FROM gcr.io/distroless/java21-debian12
COPY --from=build /app/build/libs/agent.jar /app/agent.jar
ENTRYPOINT ["java", "-jar", "/app/agent.jar"]Advertisement
Distroless is safer
No shell, no package manager, no unnecessary binaries. Reduces attack surface.
Advertisement
JVM tuning args
ENV JAVA_TOOL_OPTIONS="-XX:+UseZGC -XX:MaxRAMPercentage=75"