26 lines
		
	
	
		
			925 B
		
	
	
	
		
			Docker
		
	
	
	
	
	
		
		
			
		
	
	
			26 lines
		
	
	
		
			925 B
		
	
	
	
		
			Docker
		
	
	
	
	
	
|  | # --- Etapa 1: Compilación (Build) ---
 | ||
|  | FROM mcr.microsoft.com/dotnet/sdk:9.0 AS build
 | ||
|  | WORKDIR /app
 | ||
|  | 
 | ||
|  | # Copiar archivos de proyecto y restaurar dependencias primero para aprovechar el caché de Docker
 | ||
|  | COPY backend/src/Titulares.Api/Titulares.Api.csproj backend/src/Titulares.Api/
 | ||
|  | RUN dotnet restore backend/src/Titulares.Api/Titulares.Api.csproj
 | ||
|  | 
 | ||
|  | # Copiar el resto del código fuente del backend
 | ||
|  | COPY backend/src/ ./backend/src/
 | ||
|  | 
 | ||
|  | # Publicar la aplicación en modo Release
 | ||
|  | RUN dotnet publish backend/src/Titulares.Api/Titulares.Api.csproj -c Release -o /app/publish
 | ||
|  | 
 | ||
|  | # --- Etapa 2: Imagen Final (Final) ---
 | ||
|  | FROM mcr.microsoft.com/dotnet/aspnet:9.0
 | ||
|  | WORKDIR /app
 | ||
|  | 
 | ||
|  | # Copiar solo los artefactos compilados desde la etapa de build
 | ||
|  | COPY --from=build /app/publish .
 | ||
|  | 
 | ||
|  | # Exponer el puerto interno que ASP.NET Core usará por defecto en Docker
 | ||
|  | EXPOSE 8080
 | ||
|  | 
 | ||
|  | # Comando para iniciar la aplicación
 | ||
|  | ENTRYPOINT ["dotnet", "Titulares.Api.dll"]
 |