FROM mcr.microsoft.com/dotnet/aspnet:8.0 AS base WORKDIR /app EXPOSE 80 EXPOSE 443 ENV TZ=Asia/Shanghai ENV ASPNETCORE_ENVIRONMENT=Production FROM mcr.microsoft.com/dotnet/sdk:8.0 AS build COPY ["publish/", "/app/publish"] # # WORKDIR /src # COPY ["JiShe.CollectBus.Main.sln", "."] # COPY ["common.props", "."] # COPY ["NuGet.Config", "."] # COPY ["web/", "web/"] # COPY ["modules/", "modules/"] # 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"] # 启动命令 # 可选:添加命令行参数 # CMD ["--urls", "http://+:80"]