JiShe.CollectBus/Dockerfile

45 lines
1012 B
Docker
Raw Normal View History

2025-04-27 11:04:31 +08:00
FROM mcr.microsoft.com/dotnet/aspnet:8.0 AS base
2025-04-27 09:47:08 +08:00
WORKDIR /app
2025-05-20 17:10:33 +08:00
EXPOSE 8080
EXPOSE 10500
2025-04-27 09:47:08 +08:00
ENV TZ=Asia/Shanghai
ENV ASPNETCORE_ENVIRONMENT=Production
2025-04-27 11:04:31 +08:00
FROM mcr.microsoft.com/dotnet/sdk:8.0 AS build
2025-04-27 14:09:58 +08:00
# WORKDIR /src
2025-05-19 10:13:33 +08:00
COPY ["JiShe.CollectBus.Main.sln", "."]
2025-04-27 11:04:31 +08:00
COPY ["common.props", "."]
COPY ["NuGet.Config", "."]
COPY ["web/", "web/"]
COPY ["modules/", "modules/"]
COPY ["services/", "services/"]
COPY ["shared/", "shared/"]
COPY ["protocols/", "protocols/"]
2025-04-27 09:47:08 +08:00
2025-04-27 11:04:31 +08:00
# 恢复项目依赖
2025-05-19 10:12:31 +08:00
RUN dotnet restore "JiShe.CollectBus.Main.sln"
2025-04-27 11:04:31 +08:00
# 构建项目
2025-04-27 14:09:58 +08:00
WORKDIR "/web/JiShe.CollectBus.Host"
2025-04-27 11:04:31 +08:00
RUN dotnet build "JiShe.CollectBus.Host.csproj" -c Release -o /app/build
# 发布项目
2025-04-27 09:47:08 +08:00
FROM build AS publish
2025-04-27 11:04:31 +08:00
RUN dotnet publish "JiShe.CollectBus.Host.csproj" -c Release -o /app/publish /p:UseAppHost=false
2025-04-27 09:47:08 +08:00
2025-04-27 11:04:31 +08:00
# 创建最终镜像
2025-04-27 09:47:08 +08:00
FROM base AS final
2025-04-27 14:09:58 +08:00
2025-04-27 09:47:08 +08:00
WORKDIR /app
2025-04-27 11:04:31 +08:00
# 创建Plugins目录
RUN mkdir -p /app/Plugins
# 复制发布内容
COPY --from=publish /app/publish .
# 设置入口点
ENTRYPOINT ["dotnet", "JiShe.CollectBus.Host.dll"]
2025-04-27 09:47:08 +08:00