# --- Etapa 1: Compilación (Build) --- FROM mcr.microsoft.com/dotnet/sdk:9.0 AS build WORKDIR /app # Copiar archivos de proyecto y restaurar dependencias primero para aprovechar el caché de Docker COPY backend/src/Titulares.Api/Titulares.Api.csproj backend/src/Titulares.Api/ RUN dotnet restore backend/src/Titulares.Api/Titulares.Api.csproj # Copiar el resto del código fuente del backend COPY backend/src/ ./backend/src/ # Publicar la aplicación en modo Release RUN dotnet publish backend/src/Titulares.Api/Titulares.Api.csproj -c Release -o /app/publish # --- Etapa 2: Imagen Final (Final) --- FROM mcr.microsoft.com/dotnet/aspnet:9.0 WORKDIR /app # Copiar solo los artefactos compilados desde la etapa de build COPY --from=build /app/publish . # Exponer el puerto interno que ASP.NET Core usará por defecto en Docker EXPOSE 8080 # Comando para iniciar la aplicación ENTRYPOINT ["dotnet", "Titulares.Api.dll"]