# ============================================================ # Stage 1: Build con Maven # ============================================================ FROM maven:3.9-eclipse-temurin-25 AS builder WORKDIR /app # Copiar solo el pom primero para aprovechar la caché de capas COPY pom.xml . RUN mvn dependency:go-offline -q # Copiar el código fuente y compilar COPY src ./src RUN mvn package -DskipTests -q # ============================================================ # Stage 2: Runtime mínimo (solo JRE) # ============================================================ FROM eclipse-temurin:25-jre-noble WORKDIR /app # Usuario no-root por seguridad RUN groupadd --system rcapp && useradd --system --gid rcapp rcapp COPY --from=builder /app/target/*.jar app.jar RUN chown rcapp:rcapp app.jar USER rcapp EXPOSE 8080 ENTRYPOINT ["java", "-jar", "app.jar"]