Skip to content

Commit 08da1bf

Browse files
committed
build(Dockerfile): 优化 Docker 镜像构建过程
- 新增 deps 阶段,用于单独安装依赖 - 在 builder 阶段中复制 node_modules,避免重复安装依赖 - 在 deps 阶段中跳过 prepare 脚本,提高构建效率
1 parent 4da8724 commit 08da1bf

File tree

1 file changed

+13
-4
lines changed

1 file changed

+13
-4
lines changed

Dockerfile

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,14 +14,23 @@ RUN corepack enable && corepack prepare pnpm@8.15.0 --activate
1414
RUN addgroup -g 1001 -S nodejs
1515
RUN adduser -S juejin -u 1001
1616

17-
# 构建阶段
18-
FROM base AS builder
17+
# 依赖安装阶段
18+
FROM base AS deps
1919

2020
# 复制 package 文件和 pnpm 锁文件
2121
COPY package.json pnpm-lock.yaml ./
2222

23-
# 安装所有依赖(包括开发依赖)
24-
RUN pnpm install --frozen-lockfile
23+
# 安装所有依赖(跳过 prepare 脚本,因为还没有源代码)
24+
RUN pnpm install --frozen-lockfile --ignore-scripts
25+
26+
# 构建阶段
27+
FROM base AS builder
28+
29+
# 从依赖阶段复制node_modules
30+
COPY --from=deps /app/node_modules ./node_modules
31+
32+
# 复制 package 文件
33+
COPY package.json pnpm-lock.yaml ./
2534

2635
# 复制源代码
2736
COPY . .

0 commit comments

Comments
 (0)