| 
									
										
										
										
											2025-10-29 18:11:25 -03:00
										 |  |  | # Etapa 1: Compilación
 | 
					
						
							|  |  |  | FROM mcr.microsoft.com/dotnet/sdk:9.0 AS build
 | 
					
						
							|  |  |  | WORKDIR /src
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2025-10-30 11:58:24 -03:00
										 |  |  | # 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 .
 | 
					
						
							| 
									
										
										
										
											2025-10-29 18:11:25 -03:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2025-10-30 11:58:24 -03:00
										 |  |  | # 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.
 | 
					
						
							| 
									
										
										
										
											2025-10-29 18:11:25 -03:00
										 |  |  | COPY . .
 | 
					
						
							| 
									
										
										
										
											2025-10-30 11:58:24 -03:00
										 |  |  | 
 | 
					
						
							|  |  |  | # 4. Publica la aplicación.
 | 
					
						
							|  |  |  | # --no-restore se usa porque ya hemos restaurado las dependencias.
 | 
					
						
							| 
									
										
										
										
											2025-10-29 18:11:25 -03:00
										 |  |  | RUN dotnet publish "Titulares.Api.csproj" -c Release -o /app/publish --no-restore
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # Etapa 2: Imagen Final
 | 
					
						
							|  |  |  | FROM mcr.microsoft.com/dotnet/aspnet:9.0 AS final
 | 
					
						
							|  |  |  | WORKDIR /app
 | 
					
						
							|  |  |  | COPY --from=build /app/publish .
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | EXPOSE 8080
 | 
					
						
							|  |  |  | ENV ASPNETCORE_ENVIRONMENT=Production | 
					
						
							|  |  |  | ENTRYPOINT ["dotnet", "Titulares.Api.dll"]
 |