From a4f03cfbc1d3d51e27add9a55c37c167717bf29b Mon Sep 17 00:00:00 2001 From: "YUN-PC5\\user" Date: Fri, 27 Oct 2023 12:57:47 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=8F=90=E4=BA=A4Dockerfile?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .dockerignore | 25 +++++++++++++++ ZR.Admin.WebApi/Dockerfile | 42 +++++++++++++++----------- ZR.Admin.WebApi/ZR.Admin.WebApi.csproj | 4 +++ 3 files changed, 54 insertions(+), 17 deletions(-) create mode 100644 .dockerignore diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..cd967fc --- /dev/null +++ b/.dockerignore @@ -0,0 +1,25 @@ +**/.dockerignore +**/.env +**/.git +**/.gitignore +**/.project +**/.settings +**/.toolstarget +**/.vs +**/.vscode +**/.idea +**/*.*proj.user +**/*.dbmdl +**/*.jfm +**/azds.yaml +**/bin +**/charts +**/docker-compose* +**/Dockerfile* +**/node_modules +**/npm-debug.log +**/obj +**/secrets.dev.yaml +**/values.dev.yaml +LICENSE +README.md \ No newline at end of file diff --git a/ZR.Admin.WebApi/Dockerfile b/ZR.Admin.WebApi/Dockerfile index d945070..a33c196 100644 --- a/ZR.Admin.WebApi/Dockerfile +++ b/ZR.Admin.WebApi/Dockerfile @@ -1,21 +1,29 @@ -FROM mcr.microsoft.com/dotnet/aspnet:5.0 AS base -#创建 /app文件夹 +FROM mcr.microsoft.com/dotnet/aspnet:7.0 AS base WORKDIR /app -#创建挂载目录,用于将程序部署在服务器本地 -#VOLUME /app -#设置docker容器对外暴露端口 -EXPOSE 8888 -VOLUME /app/logs -#COPY bin/Release/net5.0/publish/ app/ -COPY . app/ +EXPOSE 80 +EXPOSE 443 -#设置容器内的时区,如果不设置,默认时区是标准时间比北京时间晚8个小时 -RUN echo "Asia/shanghai" > /etc/timezone -RUN cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime +FROM mcr.microsoft.com/dotnet/sdk:7.0 AS build +WORKDIR /src +COPY ["ZR.Admin.WebApi/ZR.Admin.WebApi.csproj", "ZR.Admin.WebApi/"] +COPY ["ZR.CodeGenerator/ZR.CodeGenerator.csproj", "ZR.CodeGenerator/"] +COPY ["Infrastructure/ZR.Infrastructure.csproj", "Infrastructure/"] +COPY ["ZR.Common/ZR.Common.csproj", "ZR.Common/"] +COPY ["ZR.ServiceCore/ZR.ServiceCore.csproj", "ZR.ServiceCore/"] +COPY ["ZR.Repository/ZR.Repository.csproj", "ZR.Repository/"] +COPY ["ZR.Model/ZR.Model.csproj", "ZR.Model/"] +COPY ["ZR.Service/ZR.Service.csproj", "ZR.Service/"] +COPY ["ZR.Tasks/ZR.Tasks.csproj", "ZR.Tasks/"] +COPY ["ZR.Admin.Grpc/ZR.Admin.Grpc.csproj", "ZR.Admin.Grpc/"] +RUN dotnet restore "ZR.Admin.WebApi/ZR.Admin.WebApi.csproj" +COPY . . +WORKDIR "/src/ZR.Admin.WebApi" +RUN dotnet build "ZR.Admin.WebApi.csproj" -c Release -o /app/build -# 复制发布文件到工作目录 -#COPY . app/ +FROM build AS publish +RUN dotnet publish "ZR.Admin.WebApi.csproj" -c Release -o /app/publish /p:UseAppHost=false + +FROM base AS final WORKDIR /app - -#等价于 dotnet ZR.Admin.WebApi.dll,如果不指定启动端口默认在docker里面启动端口是80端口 -ENTRYPOINT ["dotnet", "ZR.Admin.WebApi.dll", "--server.urls","http://*:8888"] \ No newline at end of file +COPY --from=publish /app/publish . +ENTRYPOINT ["dotnet", "ZR.Admin.WebApi.dll"] diff --git a/ZR.Admin.WebApi/ZR.Admin.WebApi.csproj b/ZR.Admin.WebApi/ZR.Admin.WebApi.csproj index 57a3d9a..a232719 100644 --- a/ZR.Admin.WebApi/ZR.Admin.WebApi.csproj +++ b/ZR.Admin.WebApi/ZR.Admin.WebApi.csproj @@ -4,6 +4,7 @@ enable enable true + Linux 1701;1702;1591,8603,8602,8604,8600,8618 @@ -29,6 +30,9 @@ + + .dockerignore + Always