FROM mcr.microsoft.com/dotnet/aspnet:9.0 AS base WORKDIR /app EXPOSE 8080 EXPOSE 10500 ENV TZ=Asia/Shanghai ENV ASPNETCORE_ENVIRONMENT=Production FROM mcr.microsoft.com/dotnet/sdk:9.0 AS build # WORKDIR /src COPY ["JiShe.CollectBus.Main.sln", "."] COPY ["common.props", "."] COPY ["Directory.Build.JiShe.targets", "."] COPY ["Directory.Build.Microsoft.targets", "."] COPY ["Directory.Build.props", "."] COPY ["Directory.Build.targets", "."] COPY ["Directory.Build.Volo.targets", "."] COPY ["NuGet.Config", "."] COPY ["web/", "web/"] COPY ["services/", "services/"] COPY ["shared/", "shared/"] COPY ["protocols/", "protocols/"] # 恢复项目依赖 RUN dotnet restore "JiShe.CollectBus.Main.sln" # 构建项目 WORKDIR "/web/JiShe.CollectBus.Host" RUN dotnet build "JiShe.CollectBus.Host.csproj" -c Release -o /app/build # 发布项目 FROM build AS publish RUN dotnet publish "JiShe.CollectBus.Host.csproj" -c Release -o /app/publish /p:UseAppHost=false # 创建最终镜像 FROM base AS final WORKDIR /app # 创建Plugins目录 RUN mkdir -p /app/Plugins # 复制发布内容 COPY --from=publish /app/publish . # 设置入口点 ENTRYPOINT ["dotnet", "JiShe.CollectBus.Host.dll"]