2025-01-24 19:17:26 -03:00
# Consulte https://aka.ms/customizecontainer para aprender a personalizar su contenedor de depuración y cómo Visual Studio usa este Dockerfile para compilar sus imágenes para una depuración más rápida.
# Esta fase se usa cuando se ejecuta desde VS en modo rápido (valor predeterminado para la configuración de depuración)
FROM mcr.microsoft.com/dotnet/aspnet:8.0 AS base
USER app
WORKDIR /app
EXPOSE 8080
EXPOSE 8081
2025-01-31 18:07:15 -03:00
# Instalación de Node.js en la fase base (si lo necesitas para el contenedor final)
2025-02-01 11:17:52 -03:00
#RUN apt-get update && apt-get install -y nodejs npm
2025-01-24 19:17:26 -03:00
# Esta fase se usa para compilar el proyecto de servicio
2025-02-01 11:17:52 -03:00
#FROM mcr.microsoft.com/dotnet/sdk:8.0 AS build
FROM mcr.microsoft.com/dotnet/sdk:8.0-jammy AS build
2025-02-01 12:55:14 -03:00
ARG BUILD_CONFIGURATION = Release
2025-01-24 19:17:26 -03:00
WORKDIR /src
COPY [ "phronCare.API/phronCare.API.csproj" , "phronCare.API/" ]
COPY [ "Core/Core.csproj" , "Core/" ]
COPY [ "Domain/Domain.csproj" , "Domain/" ]
COPY [ "Models/Models.csproj" , "Models/" ]
COPY [ "Transversal/Transversal.csproj" , "Transversal/" ]
2025-01-31 15:03:49 -03:00
COPY [ "Services/Services.csproj" , "Services/" ]
2025-01-24 19:17:26 -03:00
RUN dotnet restore "./phronCare.API/phronCare.API.csproj"
COPY . .
WORKDIR "/src/phronCare.API"
RUN dotnet build "./phronCare.API.csproj" -c $BUILD_CONFIGURATION -o /app/build
# Esta fase se usa para publicar el proyecto de servicio que se copiará en la fase final.
FROM build AS publish
ARG BUILD_CONFIGURATION = Release
RUN dotnet publish "./phronCare.API.csproj" -c $BUILD_CONFIGURATION -o /app/publish /p:UseAppHost= false
# Esta fase se usa en producción o cuando se ejecuta desde VS en modo normal (valor predeterminado cuando no se usa la configuración de depuración)
FROM base AS final
WORKDIR /app
COPY --from= publish /app/publish .
ENTRYPOINT [ "dotnet" , "phronCare.API.dll" ]