Files
TitularesApp/backend/src/Titulares.Api/Dockerfile

26 lines
800 B
Docker
Raw Normal View History

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