Dockerfile 1.2 KB

1234567891011121314151617181920212223242526272829
  1. # 請參閱 https://aka.ms/customizecontainer 了解如何自訂您的偵錯容器,以及 Visual Studio 如何使用此 Dockerfile 來組建您的映像,以加快偵錯速度。
  2. # 此階段用於以快速模式從 VS 執行時 (偵錯設定的預設值)
  3. FROM mcr.microsoft.com/dotnet/aspnet:7.0 AS base
  4. WORKDIR /app
  5. EXPOSE 80
  6. EXPOSE 443
  7. # 此階段是用來組建服務專案
  8. FROM mcr.microsoft.com/dotnet/sdk:7.0 AS build
  9. ARG BUILD_CONFIGURATION=Release
  10. WORKDIR /src
  11. COPY ["EVCB_OCPP.DBAPI/EVCB_OCPP.DBAPI.csproj", "EVCB_OCPP.DBAPI/"]
  12. RUN dotnet restore "./EVCB_OCPP.DBAPI/EVCB_OCPP.DBAPI.csproj"
  13. COPY . .
  14. WORKDIR "/src/EVCB_OCPP.DBAPI"
  15. RUN dotnet build "./EVCB_OCPP.DBAPI.csproj" -c $BUILD_CONFIGURATION -o /app/build
  16. # 此階段可用來發佈要複製到最終階段的服務專案
  17. FROM build AS publish
  18. ARG BUILD_CONFIGURATION=Release
  19. RUN dotnet publish "./EVCB_OCPP.DBAPI.csproj" -c $BUILD_CONFIGURATION -o /app/publish /p:UseAppHost=false
  20. # 此階段用於生產環境,或以一般模式從 VS 執行時 (未使用偵錯設定時的預設值)
  21. FROM base AS final
  22. WORKDIR /app
  23. COPY --from=publish /app/publish .
  24. ENTRYPOINT ["dotnet", "EVCB_OCPP.DBAPI.dll"]