recursos-catolicos/backend/Dockerfile

35 lines
865 B
Docker

# ============================================================
# 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"]