ejemplo:



# --- ETAPA 1: Compilación y Caché de Dependencias ---

FROM gradle:8-jdk17 AS buil

WORKDIR /home/gradle/ipc



# 1. Copiar solo los archivos de configuración de Gradle

# Esto permite que Docker cachee las dependencias de internet

COPY build.gradle settings.gradle /home/gradle/ipc/



# 2. Descargar dependencias (truco para que no se descarguen en cada cambio de código)

RUN gradle dependencies --no-daemon || true



# 3. Copiar el código fuente original

COPY src /home/gradle/ipc/src



# 4. Limpiar y Compilar (Borra lo anterior dentro de la etapa y genera el nuevo .jar)

RUN gradle clean bootJar --no-daemon



# --- ETAPA 2: Imagen Final Ligera ---

FROM eclipse-temurin:17-jre-alpine

WORKDIR /app



# Copiar el JAR generado en la etapa anterior

COPY --from=build /home/gradle/ipc/build/libs/*.jar app.jar



EXPOSE 15000

ENTRYPOINT ["java", "-jar", "app.jar"]

esos 2 primeros COPY pueden estar en 1 sola linea?