将检测任务迁移python
This commit is contained in:
202
DOCKER-QUICK-START.md
Normal file
202
DOCKER-QUICK-START.md
Normal file
@@ -0,0 +1,202 @@
|
||||
# 🚀 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`
|
||||
Reference in New Issue
Block a user