showme commited on
Commit
1ff8114
·
verified ·
1 Parent(s): 048154f

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +20 -2
Dockerfile CHANGED
@@ -3,8 +3,13 @@ FROM node:20-alpine AS base
3
  ENV PNPM_HOME="/pnpm"
4
  ENV PATH="$PNPM_HOME:$PATH"
5
 
6
- # 全局安装pnpm
7
- RUN npm i -g pnpm
 
 
 
 
 
8
 
9
  # 创建一个新的构建阶段,克隆GitHub仓库
10
  FROM base AS clone
@@ -17,6 +22,15 @@ FROM base AS build
17
  COPY --from=clone /usr/src/app /usr/src/app
18
  WORKDIR /usr/src/app
19
 
 
 
 
 
 
 
 
 
 
20
  # 使用pnpm安装依赖,构建应用
21
  RUN --mount=type=cache,id=pnpm,target=/pnpm/store pnpm install --frozen-lockfile
22
  RUN pnpm run -r build
@@ -29,6 +43,10 @@ RUN pnpm deploy --filter=server --prod /app-sqlite
29
  RUN cd /app && pnpm exec prisma generate
30
  RUN cd /app-sqlite && rm -rf ./prisma && mv prisma-sqlite prisma && pnpm exec prisma generate
31
 
 
 
 
 
32
 
33
  WORKDIR /app
34
  EXPOSE 4000
 
3
  ENV PNPM_HOME="/pnpm"
4
  ENV PATH="$PNPM_HOME:$PATH"
5
 
6
+ # 安装 OpenSSL
7
+ RUN apt-get update && apt-get install -y \
8
+ openssl=1.1.* \
9
+ && rm -rf /var/lib/apt/lists/*
10
+
11
+ # 安装最新版本的 npm
12
+ RUN npm install -g npm@latest
13
 
14
  # 创建一个新的构建阶段,克隆GitHub仓库
15
  FROM base AS clone
 
22
  COPY --from=clone /usr/src/app /usr/src/app
23
  WORKDIR /usr/src/app
24
 
25
+ # 修改文件权限
26
+ RUN chown -R node:node /app/node_modules
27
+
28
+ # 确保以 node 用户身份运行容器
29
+ USER node
30
+
31
+ # 设置正确的权限
32
+ RUN chmod -R 777 /app/node_modules /app/.pnpm
33
+
34
  # 使用pnpm安装依赖,构建应用
35
  RUN --mount=type=cache,id=pnpm,target=/pnpm/store pnpm install --frozen-lockfile
36
  RUN pnpm run -r build
 
43
  RUN cd /app && pnpm exec prisma generate
44
  RUN cd /app-sqlite && rm -rf ./prisma && mv prisma-sqlite prisma && pnpm exec prisma generate
45
 
46
+ # 手动安装 Prisma
47
+ RUN npm install prisma
48
+ RUN npx prisma generate
49
+
50
 
51
  WORKDIR /app
52
  EXPOSE 4000