Fix Ruta Dockerfile API
This commit is contained in:
		| @@ -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"] | ||||
		Reference in New Issue
	
	Block a user