3.9 KiB
3.9 KiB
🚀 Docker快速启动指南
一键部署
Windows
deploy.bat
Linux/Mac
chmod +x deploy.sh
./deploy.sh
手动部署
# 1. 启动所有服务
docker-compose up -d
# 2. 查看服务状态
docker-compose ps
# 3. 查看日志
docker-compose logs -f
常用命令
服务管理
# 启动服务
docker-compose up -d
# 停止服务
docker-compose stop
# 重启服务
docker-compose restart
# 停止并删除容器
docker-compose down
# 停止并删除容器和数据卷
docker-compose down -v
日志查看
# 查看所有日志
docker-compose logs
# 查看特定服务日志
docker-compose logs backend
docker-compose logs frontend
docker-compose logs python-service
# 实时查看日志
docker-compose logs -f
# 查看最近100行日志
docker-compose logs --tail=100
服务重建
# 重新构建所有镜像
docker-compose build
# 重新构建特定服务
docker-compose build backend
# 强制重建并启动
docker-compose up -d --build --force-recreate
进入容器
# 进入后端容器
docker exec -it rtsp-backend sh
# 进入前端容器
docker exec -it rtsp-frontend sh
# 进入Python服务容器
docker exec -it rtsp-python-service bash
# 进入MySQL容器
docker exec -it rtsp-mysql bash
# 进入Redis容器
docker exec -it rtsp-redis sh
端口配置
| 服务 | 默认端口 | 对外暴露 | 说明 |
|---|---|---|---|
| 前端 | 10080 | ✅ | 唯一对外暴露的端口 |
| 后端 | 8080 | ❌ | 仅容器内部访问 |
| Python服务 | 8000 | ❌ | 仅容器内部访问(CPU模式) |
| MySQL | 3306 | ❌ | 仅容器内部访问 |
| Redis | 6379 | ❌ | 仅容器内部访问 |
| MinIO | 外部服务 | - | 使用已部署的外部服务 |
要修改前端端口,编辑 .env 文件中的 FRONTEND_PORT 变量。
环境变量配置
所有配置都在 .env 文件中:
# 修改前端端口
FRONTEND_PORT=8080
# 修改数据库密码
MYSQL_ROOT_PASSWORD=your_secure_password
MYSQL_PASSWORD=your_secure_password
# 修改MinIO密码
MINIO_ROOT_PASSWORD=your_secure_password
修改后需要重新启动服务:
docker-compose down
docker-compose up -d
数据备份
备份MySQL数据
docker exec rtsp-mysql mysqldump -u root -pruoyi123 ry-vue > backup.sql
备份MinIO数据
docker cp rtsp-minio:/data ./minio-backup
恢复MySQL数据
docker exec -i rtsp-mysql mysql -u root -pruoyi123 ry-vue < backup.sql
故障排查
查看服务健康状态
docker-compose ps
服务启动失败
# 查看详细日志
docker-compose logs [服务名]
# 常见问题:
# 1. 端口被占用 -> 修改.env中的端口配置
# 2. 数据库连接失败 -> 等待MySQL完全启动(约30秒)
# 3. 内存不足 -> 增加Docker内存限制或减少服务
清理并重新开始
# 完全清理(会删除所有数据)
docker-compose down -v
docker system prune -a
# 重新部署
docker-compose up -d
访问地址
部署成功后:
- 前端界面: http://localhost:10080
- 后端API: 通过前端代理
/prod-api/ - Python API: 通过前端代理
/python-api/ - API文档: http://localhost:10080/prod-api/swagger-ui.html
首次使用
- 准备YOLOv8模型:将训练好的
best.pt文件放到python-inference-service/models/目录 - 访问 http://localhost:10080
- 默认账号密码请参考主文档
- 首次启动可能需要等待1-2分钟让所有服务完全启动
YOLOv8模型说明
本系统使用YOLOv8(Ultralytics)进行目标检测:
- 将训练好的YOLOv8模型(
best.pt)放到python-inference-service/models/目录 - (可选)创建
classes.txt文件,每行一个类别名称 - 模型会自动加载并提供推理服务
更多帮助
详细文档请查看:README-DOCKER.md