打包镜像

This commit is contained in:
2025-12-15 11:03:31 +08:00
parent 1cac3f0bf9
commit ad46a0bb53
2 changed files with 14 additions and 8 deletions
+12 -6
View File
@@ -2,17 +2,23 @@ FROM node:24
WORKDIR /app
# 复制 package.json 和 package-lock.json
COPY package*.json ./
# 安装 pnpm
RUN npm install -g pnpm
# 安装依赖(包含 devDependencies 用于构建,包含可选依赖以获取 Linux 原生绑定)
RUN npm ci --include=dev
# 复制 package.json 和 pnpm-lock.yaml
COPY package.json pnpm-lock.yaml ./
# 安装依赖(包含 devDependencies 用于构建)
RUN pnpm install --frozen-lockfile
# 复制源代码
COPY . .
# 修复 Windows 换行符问题
RUN sed -i 's/\r$//' start.sh
# 构建应用
RUN npm run build:production:multi
RUN pnpm run build:production:multi
# 安装 PM2
RUN npm install -g pm2
@@ -22,4 +28,4 @@ EXPOSE 51703-51708
ENV NODE_ENV=production
# 直接启动 PM2,不需要重新构建(构建已在上面完成)
CMD ["pm2-runtime", "start", "ecosystem.config.cjs", "--env", "production"]
CMD ["pm2-runtime", "start", "ecosystem.config.cjs", "--env", "production"]
+2 -2
View File
@@ -66,7 +66,8 @@
"remark-math": "^6.0.0",
"remixicon": "^4.6.0",
"tslib": "^2.8.1",
"uuid": "^11.1.0"
"uuid": "^11.1.0",
"cross-env": "^7.0.3"
},
"devDependencies": {
"@remix-run/dev": "^2.16.2",
@@ -79,7 +80,6 @@
"@typescript-eslint/eslint-plugin": "^6.7.4",
"@typescript-eslint/parser": "^6.7.4",
"autoprefixer": "^10.4.21",
"cross-env": "^7.0.3",
"esbuild": "^0.25.1",
"eslint": "^8.38.0",
"eslint-import-resolver-typescript": "^3.6.1",