File tree Expand file tree Collapse file tree 1 file changed +23
-12
lines changed
Expand file tree Collapse file tree 1 file changed +23
-12
lines changed Original file line number Diff line number Diff line change 1+ # 基礎映像檔
12FROM node:20-alpine AS dependencies-env
23RUN npm i -g pnpm
3- COPY . /app
4+ WORKDIR /app
45
6+ # 開發環境依賴
57FROM dependencies-env AS development-dependencies-env
6- COPY ./package.json pnpm-lock.yaml /app/
7- WORKDIR /app
8+ COPY package.json pnpm-lock.yaml ./
89RUN pnpm i --frozen-lockfile
910
11+ # 生產環境依賴
1012FROM dependencies-env AS production-dependencies-env
11- COPY ./package.json pnpm-lock.yaml /app/
12- WORKDIR /app
13+ COPY package.json pnpm-lock.yaml ./
1314RUN pnpm i --prod --frozen-lockfile
1415
16+ # 建置環境
1517FROM dependencies-env AS build-env
16- COPY ./package.json pnpm-lock.yaml /app/
17- COPY --from=development-dependencies-env /app/node_modules /app/node_modules
18- WORKDIR /app
18+ COPY . .
19+ COPY --from=development-dependencies-env /app/node_modules ./node_modules
1920RUN pnpm build
21+ # 檢查建置結果
22+ RUN ls -la build/server/
2023
24+ # 最終執行環境
2125FROM dependencies-env
22- COPY ./package.json pnpm-lock.yaml /app/
23- COPY --from=production-dependencies-env /app/node_modules /app/node_modules
24- COPY --from=build-env /app/build /app/build
25- WORKDIR /app
26+ # 複製專案檔案
27+ COPY . .
28+ COPY package.json pnpm-lock.yaml ./
29+ # 複製生產環境依賴
30+ COPY --from=production-dependencies-env /app/node_modules ./node_modules
31+ # 複製建置結果
32+ COPY --from=build-env /app/build ./build
33+ # 檢查檔案
34+ RUN ls -la build/server/
35+
36+ # 設定啟動指令
2637CMD ["pnpm" , "start" ]
You can’t perform that action at this time.
0 commit comments