Fix Ruta Dockerfile API
This commit is contained in:
		| @@ -1,30 +1,26 @@ | |||||||
| # Etapa 1: Compilación | # 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 | FROM mcr.microsoft.com/dotnet/sdk:9.0 AS build | ||||||
| WORKDIR /src | WORKDIR /src | ||||||
|  |  | ||||||
| # Copiamos el archivo de proyecto y restauramos las dependencias primero | # 1. Copia solo el archivo .csproj. | ||||||
| # Esto aprovecha el caché de capas de Docker | # La ruta de origen es "Titulares.Api.csproj" porque está en la raíz del contexto. | ||||||
| COPY ["Titulares.Api/Titulares.Api.csproj", "Titulares.Api/"] | COPY Titulares.Api.csproj . | ||||||
| RUN dotnet restore "Titulares.Api/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 . . | 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 | RUN dotnet publish "Titulares.Api.csproj" -c Release -o /app/publish --no-restore | ||||||
|  |  | ||||||
| # Etapa 2: Imagen Final | # 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 | FROM mcr.microsoft.com/dotnet/aspnet:9.0 AS final | ||||||
| WORKDIR /app | WORKDIR /app | ||||||
| COPY --from=build /app/publish . | COPY --from=build /app/publish . | ||||||
|  |  | ||||||
| # Exponemos el puerto 8080. El backend escuchará en este puerto dentro del contenedor. |  | ||||||
| EXPOSE 8080 | EXPOSE 8080 | ||||||
|  |  | ||||||
| # Establecemos el entorno a Producción para que se use appsettings.Production.json |  | ||||||
| ENV ASPNETCORE_ENVIRONMENT=Production | ENV ASPNETCORE_ENVIRONMENT=Production | ||||||
|  |  | ||||||
| # Punto de entrada para ejecutar la aplicación |  | ||||||
| ENTRYPOINT ["dotnet", "Titulares.Api.dll"] | ENTRYPOINT ["dotnet", "Titulares.Api.dll"] | ||||||
		Reference in New Issue
	
	Block a user