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?