commit 70cba4a6d8b8b64251fb990b3dbe650ae3511910 Author: wkj <654261645@qq.com> Date: Fri Feb 21 09:06:14 2025 +0800 dockerfile diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..ea3743c --- /dev/null +++ b/Dockerfile @@ -0,0 +1,30 @@ +# 请参阅 https://aka.ms/customizecontainer 以了解如何自定义调试容器,以及 Visual Studio 如何使用此 Dockerfile 生成映像以更快地进行调试。 + +# 此阶段用于在快速模式(默认为调试配置)下从 VS 运行时 +FROM mcr.microsoft.com/dotnet/aspnet:6.0 AS base +WORKDIR /app +EXPOSE 80 + + +# 此阶段用于生成服务项目 +FROM mcr.microsoft.com/dotnet/sdk:6.0 AS build +ARG BUILD_CONFIGURATION=Release +WORKDIR /src +COPY ["ZhiYi.Core.Api/ZhiYi.Core.Api.csproj", "ZhiYi.Core.Api/"] +COPY ["ZhiYi.Core.Application/ZhiYi.Core.Application.csproj", "ZhiYi.Core.Application/"] +COPY ["ZhiYi.Core.Repository/ZhiYi.Core.Repository.csproj", "ZhiYi.Core.Repository/"] +RUN dotnet restore "./ZhiYi.Core.Api/ZhiYi.Core.Api.csproj" +COPY . . +WORKDIR "/src/ZhiYi.Core.Api" +RUN dotnet build "./ZhiYi.Core.Api.csproj" -c $BUILD_CONFIGURATION -o /app/build + +# 此阶段用于发布要复制到最终阶段的服务项目 +FROM build AS publish +ARG BUILD_CONFIGURATION=Release +RUN dotnet publish "./ZhiYi.Core.Api.csproj" -c $BUILD_CONFIGURATION -o /app/publish /p:UseAppHost=false + +# 此阶段在生产中使用,或在常规模式下从 VS 运行时使用(在不使用调试配置时为默认值) +FROM base AS final +WORKDIR /app +COPY --from=publish /app/publish . +ENTRYPOINT ["dotnet", "ZhiYi.Core.Api.dll"] \ No newline at end of file