This repository was archived by the owner on Feb 11, 2026. It is now read-only.
File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1+ # --- 阶段 1: 基础环境 ---
12FROM node:22.16.0-alpine3.22 AS base
23RUN corepack enable && corepack prepare pnpm@latest --activate
34WORKDIR /app
4- # All deps stage
5+
6+ # --- 阶段 2: 安装所有依赖 (用于 Build) ---
57FROM base AS deps
68COPY package.json pnpm-lock.yaml ./
7- # 使用 --frozen-lockfile 确保安装与锁定文件完全一致
89RUN pnpm install --frozen-lockfile
910
10- # Production only deps stage
11+ # --- 阶段 3: 仅安装生产环境依赖 ---
1112FROM base AS production-deps
12- WORKDIR /app
13- ADD package.json package-lock.json ./
14- RUN npm ci --omit=dev
13+ COPY package.json pnpm-lock.yaml ./
14+ # 修正点:使用 pnpm 只安装生产依赖
15+ RUN pnpm install --prod --frozen-lockfile
1516
16- # Build stage
17+ # --- 阶段 4: 编译阶段 ---
1718FROM base AS build
18- WORKDIR /app
1919COPY --from=deps /app/node_modules /app/node_modules
2020ADD . .
2121RUN node ace build
2222
23- # Production stage
24- FROM base
23+ # --- 阶段 5: 最终运行阶段 ---
24+ FROM node:22.16.0-alpine3.22
2525ENV NODE_ENV=production
2626WORKDIR /app
27+ # 从阶段 3 拷贝生产依赖
2728COPY --from=production-deps /app/node_modules /app/node_modules
29+ # 从阶段 4 拷贝编译后的产物
2830COPY --from=build /app/build /app
2931EXPOSE 3000
30- CMD ["node" , "./bin/server.js" ]
32+
33+ # 修正点:AdonisJS 编译后的入口路径
34+ CMD ["node" , "bin/server.js" ]
You can’t perform that action at this time.
0 commit comments