# Etapa 1: Compilación FROM mcr.microsoft.com/dotnet/sdk:9.0 AS build WORKDIR /src # 1. Copia solo el archivo .csproj. # La ruta de origen es "Titulares.Api.csproj" porque está en la raíz del contexto. COPY Titulares.Api.csproj . # 2. Restaura las dependencias. Docker guardará esta capa en caché. RUN dotnet restore "Titulares.Api.csproj" # 3. Copia el resto de los archivos del proyecto. COPY . . # 4. Publica la aplicación. # --no-restore se usa porque ya hemos restaurado las dependencias. RUN dotnet publish "Titulares.Api.csproj" -c Release -o /app/publish --no-restore # Etapa 2: Imagen Final FROM mcr.microsoft.com/dotnet/aspnet:9.0 AS final WORKDIR /app COPY --from=build /app/publish . EXPOSE 8080 ENV ASPNETCORE_ENVIRONMENT=Production ENTRYPOINT ["dotnet", "Titulares.Api.dll"]