Files
Torch/Dockerfile
2024-08-26 15:38:19 +07:00

39 lines
1.3 KiB
Docker

FROM mcr.microsoft.com/dotnet/runtime:8.0-windowsservercore-ltsc2022 AS base
USER $APP_UID
WORKDIR /app
FROM mcr.microsoft.com/dotnet/sdk:8.0-windowsservercore-ltsc2022 AS build
ARG BUILD_CONFIGURATION=Release
WORKDIR /src
COPY ["NuGet.config", "."]
COPY ["Directory.Build.props", "."]
COPY ["Torch.API/Torch.API.csproj", "Torch.API/"]
COPY ["Torch/Torch.csproj", "Torch/"]
COPY ["Torch.Server/Torch.Server.csproj", "Torch.Server/"]
RUN dotnet restore "Torch.Server/Torch.Server.csproj" --locked-mode
COPY . .
WORKDIR "/src/Torch.Server"
RUN dotnet build "Torch.Server.csproj" -c %BUILD_CONFIGURATION% -o /app/build
FROM build AS publish
ARG BUILD_CONFIGURATION=Release
RUN dotnet publish "Torch.Server.csproj" -c %BUILD_CONFIGURATION% -o /app/publish --no-self-contained /p:UseAppHost=false
FROM mcr.microsoft.com/windows/servercore:ltsc2022
ADD ["https://aka.ms/dotnet/8.0/windowsdesktop-runtime-win-x64.exe", "installer.exe"]
RUN installer.exe /install /quiet /norestart && del installer.exe
ADD ["https://github.com/abbodi1406/vcredist/releases/latest/download/VisualCppRedist_AIO_x86_x64.exe", "vc.exe"]
USER ContainerAdministrator
RUN vc.exe /ai39 && del vc.exe
USER ContainerUser
WORKDIR /app
COPY --from=publish /app/publish .
ENTRYPOINT ["dotnet", "Torch.Server.dll"]