From 7c801b4b735f370465013f1b3f6ba7e070a68b26 Mon Sep 17 00:00:00 2001 From: dmolinari Date: Thu, 30 Oct 2025 11:58:24 -0300 Subject: [PATCH] Fix Ruta Dockerfile API --- backend/src/Titulares.Api/Dockerfile | 24 ++++++++++-------------- 1 file changed, 10 insertions(+), 14 deletions(-) diff --git a/backend/src/Titulares.Api/Dockerfile b/backend/src/Titulares.Api/Dockerfile index 313cd48..1973097 100644 --- a/backend/src/Titulares.Api/Dockerfile +++ b/backend/src/Titulares.Api/Dockerfile @@ -1,30 +1,26 @@ # Etapa 1: Compilación -# Usamos la imagen del SDK de .NET 8 para compilar la aplicación FROM mcr.microsoft.com/dotnet/sdk:9.0 AS build WORKDIR /src -# Copiamos el archivo de proyecto y restauramos las dependencias primero -# Esto aprovecha el caché de capas de Docker -COPY ["Titulares.Api/Titulares.Api.csproj", "Titulares.Api/"] -RUN dotnet restore "Titulares.Api/Titulares.Api.csproj" +# 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 . -# Copiamos el resto del código fuente +# 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 . . -WORKDIR "/src/Titulares.Api" -# Compilamos la aplicación en modo Release y la publicamos en la carpeta /app/publish + +# 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 -# Usamos la imagen de runtime de ASP.NET, que es mucho más ligera FROM mcr.microsoft.com/dotnet/aspnet:9.0 AS final WORKDIR /app COPY --from=build /app/publish . -# Exponemos el puerto 8080. El backend escuchará en este puerto dentro del contenedor. EXPOSE 8080 - -# Establecemos el entorno a Producción para que se use appsettings.Production.json ENV ASPNETCORE_ENVIRONMENT=Production - -# Punto de entrada para ejecutar la aplicación ENTRYPOINT ["dotnet", "Titulares.Api.dll"] \ No newline at end of file