4
0

Dockerfile 948 B

1234567891011121314151617181920212223242526272829303132
  1. FROM mcr.microsoft.com/dotnet/aspnet:10.0 AS base
  2. USER $APP_UID
  3. WORKDIR /app
  4. EXPOSE 8080
  5. EXPOSE 8081
  6. FROM mcr.microsoft.com/dotnet/sdk:10.0 AS build
  7. ARG BUILD_CONFIGURATION=Release
  8. WORKDIR /src
  9. COPY ["RackPeek.Web/RackPeek.Web.csproj", "RackPeek.Web/"]
  10. COPY ["RackPeek.Domain/RackPeek.Domain.csproj", "RackPeek.Domain/"]
  11. COPY ["Shared.Rcl/Shared.Rcl.csproj", "Shared.Rcl/"]
  12. COPY ["RackPeek/RackPeek.csproj", "RackPeek/"]
  13. RUN dotnet restore "RackPeek.Web/RackPeek.Web.csproj"
  14. COPY . .
  15. WORKDIR "/src/RackPeek.Web"
  16. RUN dotnet build "./RackPeek.Web.csproj" -c $BUILD_CONFIGURATION -o /app/build
  17. FROM build AS publish
  18. ARG BUILD_CONFIGURATION=Release
  19. RUN dotnet publish "./RackPeek.Web.csproj" -c $BUILD_CONFIGURATION -o /app/publish /p:UseAppHost=false
  20. FROM base AS final
  21. WORKDIR /app
  22. RUN mkdir -p /app/config && chown -R $APP_UID /app/config
  23. VOLUME ["/app/config"]
  24. COPY --from=publish /app/publish .
  25. ENTRYPOINT ["dotnet", "RackPeek.Web.dll"]