Files
performance-evaluation-system/backend/DOCKER-README.md
2026-04-11 13:24:41 +08:00

1.9 KiB
Raw Blame History

Docker 部署说明

1. 仅构建后端镜像

# 在 backend 目录中
cd backend

# 构建 Docker 镜像
docker build -t employee-performance-backend:latest .

# 运行容器
docker run -d \
  -p 3001:3001 \
  -e DB_HOST=localhost \
  -e DB_PORT=3306 \
  -e DB_USER=performance_user \
  -e DB_PASSWORD=userpassword123 \
  -e DB_NAME=employee_performance \
  -e JWT_SECRET=your_jwt_secret_here_change_in_production \
  -e FASTGPT_API_KEY=your_fastgpt_api_key_here \
  --name employee-performance-backend \
  employee-performance-backend:latest

2. 使用 Docker Compose推荐

# 在项目根目录(包含 docker-compose.yml
cd ..

# 启动所有服务MySQL + 后端)
docker-compose up -d

# 查看日志
docker-compose logs -f

# 停止服务
docker-compose down

# 停止并删除数据卷
docker-compose down -v

3. 环境变量配置

复制 .env.example.env 并根据需要修改:

cd backend
cp .env.example .env

或者通过 Docker Compose 的环境变量直接配置(见 docker-compose.yml

4. 数据库初始化

Docker Compose 会自动:

  1. 创建 MySQL 8.0 容器
  2. 初始化数据库结构(使用 src/db/init.sql
  3. 插入测试数据(使用 src/db/seed.sql

5. 健康检查

后端服务提供健康检查端点:

GET http://localhost:3001/health

Docker 容器已配置健康检查,确保服务正常运行。

6. 构建优化

Dockerfile 使用多阶段构建:

  • 第一阶段:安装依赖并构建 TypeScript
  • 第二阶段:仅复制运行所需文件,减小镜像大小

7. 生产环境注意事项

  1. 修改默认密码:在 docker-compose.yml 中修改 MySQL 密码
  2. 设置强 JWT_SECRET:使用强密钥替换默认值
  3. 配置 FastGPT API:提供有效的 API 密钥
  4. 数据持久化MySQL 数据存储在 mysql_data 卷中
  5. 网络安全:生产环境应考虑使用 Docker 网络隔离