From a4de6a041a458ddb00b2af679144687c189b0d41 Mon Sep 17 00:00:00 2001 From: tanglong <842690096@qq.com> Date: Mon, 2 Mar 2026 11:08:24 +0800 Subject: [PATCH] =?UTF-8?q?dockerfile=20=20=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Dockerfile | 27 ++++++++++++++------------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/Dockerfile b/Dockerfile index 0069c48..4da5db3 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,48 +1,49 @@ -# 基于.NET 8官方Linux镜åƒ�的多阶段构建 +# »ùÓÚ .NET 8 ÔËÐÐʱ¾µÏñ FROM mcr.microsoft.com/dotnet/aspnet:8.0 AS base WORKDIR /app EXPOSE 9996 -# 设置时区 +# ÉèÖÃÊ±Çø ENV TZ=Asia/Shanghai RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone -# 安装必è¦�çš„ä¾�赖(如字体库,适é…�MiniExcel等) -RUN apt-get update && apt-get install -y fontconfig && apt-get clean - -# 构建阶段 +# ¹¹½¨½×¶Î FROM mcr.microsoft.com/dotnet/sdk:8.0 AS build ARG BUILD_CONFIGURATION=Release WORKDIR /src -# å¤�制csproj文件并还原 +# ÏÈ¿½±´ csproj Îļþ£¬ÀûÓà Docker »º´æ COPY ["YD_Event.Web.Entry/YD_Event.Web.Entry.csproj", "YD_Event.Web.Entry/"] COPY ["YD_Event.Web.Core/YD_Event.Web.Core.csproj", "YD_Event.Web.Core/"] COPY ["YD_Event.Application/YD_Event.Application.csproj", "YD_Event.Application/"] COPY ["YD_Event.Core/YD_Event.Core.csproj", "YD_Event.Core/"] +# »Ö¸´ÒÀÀµ RUN dotnet restore "YD_Event.Web.Entry/YD_Event.Web.Entry.csproj" -# å¤�制所有æº�ç � +# ¿½±´È«²¿Ô´´úÂë COPY . . + WORKDIR "/src/YD_Event.Web.Entry" + +# ¹¹½¨ RUN dotnet build "YD_Event.Web.Entry.csproj" -c $BUILD_CONFIGURATION -o /app/build -# å�‘布阶段 +# ·¢²¼ FROM build AS publish ARG BUILD_CONFIGURATION=Release RUN dotnet publish "YD_Event.Web.Entry.csproj" -c $BUILD_CONFIGURATION -o /app/publish /p:UseAppHost=false -# è¿�行阶段 +# ÔËÐоµÏñ FROM base AS final WORKDIR /app COPY --from=publish /app/publish . -# é…�ç½®Kestrel端å�£ +# ÅäÖà Kestrel ¶Ë¿Ú ENV ASPNETCORE_URLS=http://*:9996 -# å�¥åº·æ£€æŸ¥ +# ½¡¿µ¼ì²é HEALTHCHECK --interval=30s --timeout=30s --start-period=5s --retries=3 \ CMD curl -f http://localhost:9996/health || exit 1 -ENTRYPOINT ["dotnet", "YD_Event.Web.Entry.dll"] +ENTRYPOINT ["dotnet", "YD_Event.Web.Entry.dll"] \ No newline at end of file