Bläddra i källkod

📦 build(docker): migrate to pnpm and optimize build process

- replace npm with pnpm for package management
- install pnpm globally with specific version 10.18.3
- update dependency installation command to use pnpm install --frozen-lockfile
- copy pnpm-workspace.yaml and individual package.json files
- modify build command to specifically build web application
- update exposed port from 23972 to 8080
- change startup command to start web application through pnpm
yourname 3 månader sedan
förälder
incheckning
a3e2e4e7b1
1 ändrade filer med 13 tillägg och 9 borttagningar
  1. 13 9
      Dockerfile

+ 13 - 9
Dockerfile

@@ -1,26 +1,30 @@
 # 使用指定基础镜像
 FROM node:20.19.4
 
-RUN apt-get update 
-RUN apt-get install -y python3 build-essential
+# 安装 pnpm
+RUN npm install -g pnpm@10.18.3
 
 # 设置工作目录
 WORKDIR /app
 
-# 复制package.json .npmrc和package-lock.json
-COPY package.json .npmrc package-lock.json* ./
+# 复制根目录配置文件
+COPY package.json pnpm-workspace.yaml .npmrc ./
+
+# 复制各项目 package.json
+COPY web/package.json ./web/
+COPY packages/server/package.json ./packages/server/
 
 # 安装依赖
-RUN npm install
+RUN pnpm install --frozen-lockfile
 
 # 复制项目文件
 COPY . .
 
-# 构建项目
-RUN npm run build
+# 构建 web 应用
+RUN cd web && pnpm run build
 
 # 暴露端口(根据实际需要调整)
-EXPOSE 23972
+EXPOSE 8080
 
 # 启动命令
-CMD ["npm", "run", "start"]
+CMD ["sh", "-c", "cd web && pnpm run start"]