1.9 KiB
1.9 KiB
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 会自动:
- 创建 MySQL 8.0 容器
- 初始化数据库结构(使用
src/db/init.sql) - 插入测试数据(使用
src/db/seed.sql)
5. 健康检查
后端服务提供健康检查端点:
GET http://localhost:3001/health
Docker 容器已配置健康检查,确保服务正常运行。
6. 构建优化
Dockerfile 使用多阶段构建:
- 第一阶段:安装依赖并构建 TypeScript
- 第二阶段:仅复制运行所需文件,减小镜像大小
7. 生产环境注意事项
- 修改默认密码:在 docker-compose.yml 中修改 MySQL 密码
- 设置强 JWT_SECRET:使用强密钥替换默认值
- 配置 FastGPT API:提供有效的 API 密钥
- 数据持久化:MySQL 数据存储在
mysql_data卷中 - 网络安全:生产环境应考虑使用 Docker 网络隔离