Update Dockerfile
Browse files- Dockerfile +1 -13
Dockerfile
CHANGED
@@ -1,41 +1,29 @@
|
|
1 |
-
|
2 |
FROM node:20-alpine as builder
|
3 |
|
4 |
-
# 设置工作目录
|
5 |
WORKDIR /app
|
6 |
|
7 |
-
# 复制 package.json 和 package-lock.json
|
8 |
COPY package*.json ./
|
9 |
|
10 |
-
# 安装项目依赖
|
11 |
RUN npm install --legacy-peer-deps && npm cache clean --force
|
12 |
|
13 |
-
# 复制前端代码
|
14 |
COPY . .
|
15 |
|
16 |
-
# 构建应用
|
17 |
RUN npm run build
|
18 |
|
19 |
-
# 清理不必要的文件和依赖
|
20 |
RUN npm prune --production
|
21 |
|
22 |
-
# 第二阶段:仅复制构建产物和运行时依赖
|
23 |
FROM node:20-alpine
|
24 |
|
25 |
-
# 设置工作目录
|
26 |
WORKDIR /app
|
27 |
|
28 |
-
# 从构建器阶段复制构建产物和必要的运行时文件
|
29 |
COPY --from=builder /app/dist ./dist
|
30 |
COPY --from=builder /app/server ./server
|
31 |
COPY --from=builder /app/node_modules ./node_modules
|
32 |
COPY --from=builder /app/package*.json ./
|
33 |
COPY --from=builder /app/src ./src
|
34 |
-
# 确保 db 目录也被复制,包括 knex_init_db 模块
|
35 |
COPY --from=builder /app/db ./db
|
36 |
|
37 |
-
# 暴露 3001 端口
|
38 |
EXPOSE 3001
|
39 |
|
40 |
-
# 启动命令
|
41 |
CMD ["node", "server/server.js"]```
|
|
|
1 |
+
|
2 |
FROM node:20-alpine as builder
|
3 |
|
|
|
4 |
WORKDIR /app
|
5 |
|
|
|
6 |
COPY package*.json ./
|
7 |
|
|
|
8 |
RUN npm install --legacy-peer-deps && npm cache clean --force
|
9 |
|
|
|
10 |
COPY . .
|
11 |
|
|
|
12 |
RUN npm run build
|
13 |
|
|
|
14 |
RUN npm prune --production
|
15 |
|
|
|
16 |
FROM node:20-alpine
|
17 |
|
|
|
18 |
WORKDIR /app
|
19 |
|
|
|
20 |
COPY --from=builder /app/dist ./dist
|
21 |
COPY --from=builder /app/server ./server
|
22 |
COPY --from=builder /app/node_modules ./node_modules
|
23 |
COPY --from=builder /app/package*.json ./
|
24 |
COPY --from=builder /app/src ./src
|
|
|
25 |
COPY --from=builder /app/db ./db
|
26 |
|
|
|
27 |
EXPOSE 3001
|
28 |
|
|
|
29 |
CMD ["node", "server/server.js"]```
|