优化 Docker 配置
主要变更: - 升级基础镜像从 Node.js 20 到 Node.js 24 - 优化 Dockerfile 权限设置(start.sh 从 777 改为 755) - 简化 docker-compose.yml 配置,移除 nginx 服务 - 添加 command 指定启动脚本 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
+15
-10
@@ -1,31 +1,36 @@
|
|||||||
# 使用Node.js 20作为基础镜像
|
# 使用 Node.js 24 作为基础镜像(Alpine 版)
|
||||||
FROM node:20-alpine
|
FROM node:24-alpine
|
||||||
|
|
||||||
# 设置工作目录
|
# 设置工作目录
|
||||||
WORKDIR /app
|
WORKDIR /app
|
||||||
|
|
||||||
# 安装PM2全局
|
# 安装 PM2 全局
|
||||||
RUN npm install -g pm2
|
RUN npm install -g pm2
|
||||||
|
|
||||||
# 安装pnpm
|
# 安装 pnpm
|
||||||
RUN npm install -g pnpm
|
RUN npm install -g pnpm
|
||||||
|
|
||||||
# 复制项目文件
|
# 复制项目文件
|
||||||
COPY . .
|
COPY . .
|
||||||
|
|
||||||
# 安装项目依赖
|
# 安装项目依赖(建议使用 pnpm,但你写的是 npm install .)
|
||||||
|
# 如果项目用 pnpm,请改为:RUN pnpm install --frozen-lockfile
|
||||||
RUN npm install .
|
RUN npm install .
|
||||||
|
|
||||||
# 创建logs目录
|
# 设置 node_modules/.bin 目录的执行权限(通常不需要,但保留)
|
||||||
|
RUN chmod -R +x node_modules/.bin
|
||||||
|
|
||||||
|
# 创建 logs 目录
|
||||||
RUN mkdir -p logs
|
RUN mkdir -p logs
|
||||||
|
|
||||||
# 暴露端口(根据pm2配置,需要暴露51703-51708端口)
|
# 暴露端口
|
||||||
EXPOSE 51703 51704 51705 51706 51707 51708
|
EXPOSE 51703 51704 51705 51706 51707 51708
|
||||||
|
|
||||||
# 设置环境变量
|
# 设置环境变量
|
||||||
ENV NODE_ENV=production
|
ENV NODE_ENV=production
|
||||||
RUN chmod 777 ./start.sh
|
|
||||||
|
|
||||||
# CMD ["npm", "run", "start:pm2:multi"]
|
# 确保 start.sh 可执行(777 权限过大,建议 755)
|
||||||
# 启动命令 - 使用tail阻塞容器
|
RUN chmod +x ./start.sh
|
||||||
|
|
||||||
|
# 启动命令
|
||||||
CMD ["./start.sh"]
|
CMD ["./start.sh"]
|
||||||
+2
-15
@@ -2,6 +2,7 @@ services:
|
|||||||
docreview:
|
docreview:
|
||||||
build: .
|
build: .
|
||||||
container_name: docreview-app
|
container_name: docreview-app
|
||||||
|
command: ["/bin/sh", "./start.sh"]
|
||||||
ports:
|
ports:
|
||||||
- "51703:51703" # 主服务
|
- "51703:51703" # 主服务
|
||||||
- "51704:51704" # 潮州客户端
|
- "51704:51704" # 潮州客户端
|
||||||
@@ -13,21 +14,7 @@ services:
|
|||||||
- NODE_ENV=production
|
- NODE_ENV=production
|
||||||
volumes:
|
volumes:
|
||||||
- .:/app # 挂载整个项目目录
|
- .:/app # 挂载整个项目目录
|
||||||
- /app/node_modules # 排除node_modules,使用容器内的
|
#- /app/node_modules # 排除node_modules,使用容器内的
|
||||||
restart: unless-stopped
|
|
||||||
networks:
|
|
||||||
- docreview-network
|
|
||||||
depends_on:
|
|
||||||
- nginx
|
|
||||||
|
|
||||||
nginx:
|
|
||||||
image: nginx:alpine
|
|
||||||
container_name: docreview-nginx
|
|
||||||
ports:
|
|
||||||
- "8080:80"
|
|
||||||
- "443:443"
|
|
||||||
volumes:
|
|
||||||
- ./nginx/conf.d:/etc/nginx/conf.d/:ro
|
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
networks:
|
networks:
|
||||||
- docreview-network
|
- docreview-network
|
||||||
|
|||||||
Reference in New Issue
Block a user