From a4795b7d90ba27fac2f6978f9ae257f5a7154a75 Mon Sep 17 00:00:00 2001 From: tiananlin Date: Mon, 25 Aug 2025 14:13:34 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=20Dockerfiles/Dockerfile-sta?= =?UTF-8?q?ging/Dockerfile?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Dockerfiles/Dockerfile-staging/Dockerfile | 41 +++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 Dockerfiles/Dockerfile-staging/Dockerfile diff --git a/Dockerfiles/Dockerfile-staging/Dockerfile b/Dockerfiles/Dockerfile-staging/Dockerfile new file mode 100644 index 0000000..e15a94f --- /dev/null +++ b/Dockerfiles/Dockerfile-staging/Dockerfile @@ -0,0 +1,41 @@ +# 构建阶段 +FROM m.daocloud.io/docker.io/library/node:22.14.0 AS builder + +# 设置工作目录 +WORKDIR /app + +# 设置 npm 镜像源 +RUN npm config set registry https://registry.npmmirror.com/ +RUN npm config set fetch-retries 3 +RUN npm config set fetch-retry-mintimeout 5000 +RUN npm config set fetch-retry-maxtimeout 60000 + +# 安装pnpm +RUN npm install -g pnpm + +# 复制源代码 +COPY . . + +# 设置 pnpm 下载源 +RUN pnpm config set registry https://registry.npmmirror.com/ + +# 安装依赖 +RUN pnpm i --fetch-timeout 300000 + +# 构建项目 +RUN pnpm build:staging + +# 部署阶段 +FROM m.daocloud.io/docker.io/library/nginx:alpine + +# 复制构建产物到 Nginx 目录 +COPY --from=builder --chown=nginx:nginx /app/dist /usr/share/nginx/html + +# 复制 Nginx 配置 +COPY Dockerfiles/Dockerfile-staging/default.conf /etc/nginx/conf.d/default.conf + +# 暴露端口 +EXPOSE 80 + +# 启动 Nginx +CMD ["nginx", "-g", "daemon off;"] \ No newline at end of file