Fix Ruta Dockerfile API

This commit is contained in:
2025-10-30 11:58:24 -03:00
parent 06d95d32ca
commit 7c801b4b73

View File

@@ -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"]