Files
rtsp-video-analysis-system/DOCKER-QUICK-START.md
2025-09-30 14:23:33 +08:00

202 lines
3.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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