# Use the official image as a parent image FROM mcr.microsoft.com/dotnet/aspnet:8.0 AS base WORKDIR /app EXPOSE 5000 EXPOSE 5001 EXPOSE 8080 # Use SDK image to build the project FROM mcr.microsoft.com/dotnet/sdk:8.0 AS build WORKDIR /src COPY ["API/API.csproj", "API/"] RUN dotnet restore "API/API.csproj" COPY . . WORKDIR "/src/API" RUN dotnet build "API.csproj" -c Release -o /app/build # Publish the project FROM build AS publish RUN dotnet publish "API.csproj" -c Release -o /app/publish # Build runtime image FROM base AS final WORKDIR /app COPY --from=publish /app/publish . ENTRYPOINT ["dotnet", "API.dll"]