Performance: Multi-stage Docker builds
HIGH IMPACT
This affects page load speed by reducing container image size and startup time, improving deployment speed and runtime performance.
FROM maven:3.9.0-eclipse-temurin-17 AS build COPY pom.xml /app/ COPY src /app/src/ WORKDIR /app RUN mvn clean package -DskipTests FROM eclipse-temurin:17-jre COPY --from=build /app/target/*.jar /app/app.jar CMD ["java", "-jar", "/app/app.jar"]
FROM openjdk:17 COPY . /app WORKDIR /app RUN ./mvnw package CMD ["java", "-jar", "target/app.jar"]
| Pattern | Image Size | Build Time | Startup Time | Verdict |
|---|---|---|---|---|
| Single-stage build with full source | Large (500+ MB) | Long (includes build tools) | Slow (large image load) | [X] Bad |
| Multi-stage build with separate build/runtime | Small (50-100 MB) | Moderate (build stage only) | Fast (small image load) | [OK] Good |