|
|
|
|
|
# 期货智析平台 - Docker 部署指南
|
|
|
|
|
|
|
|
|
|
|
|
## 📋 部署前准备
|
|
|
|
|
|
|
|
|
|
|
|
### 1. 环境要求
|
|
|
|
|
|
- Docker Desktop for Windows(已安装并运行)
|
|
|
|
|
|
- Windows 10/11 专业版或家庭版(WSL2后端)
|
|
|
|
|
|
- 至少 2GB 可用内存
|
|
|
|
|
|
- 至少 5GB 磁盘空间
|
|
|
|
|
|
|
|
|
|
|
|
### 2. 检查Docker状态
|
|
|
|
|
|
```powershell
|
|
|
|
|
|
docker --version
|
|
|
|
|
|
docker-compose --version
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
## 🚀 快速部署
|
|
|
|
|
|
|
|
|
|
|
|
### 方法一:使用部署脚本(推荐)
|
|
|
|
|
|
1. 双击运行 `deploy.bat`
|
|
|
|
|
|
2. 等待自动完成构建和部署
|
|
|
|
|
|
3. 访问 http://localhost:9600
|
|
|
|
|
|
|
|
|
|
|
|
### 方法二:手动部署
|
|
|
|
|
|
```powershell
|
|
|
|
|
|
# 进入项目目录
|
|
|
|
|
|
cd e:\docker_workspace\cobot2.0_WorkHorse\app\working\workspaces\default\share_data\project\market_data_colector_platform\buffer_platform
|
|
|
|
|
|
|
|
|
|
|
|
# 停止旧容器
|
|
|
|
|
|
docker-compose down
|
|
|
|
|
|
|
|
|
|
|
|
# 构建镜像
|
|
|
|
|
|
docker-compose build --no-cache
|
|
|
|
|
|
|
|
|
|
|
|
# 启动服务
|
|
|
|
|
|
docker-compose up -d
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
## 🌐 访问地址
|
|
|
|
|
|
|
|
|
|
|
|
部署成功后,可访问以下地址:
|
|
|
|
|
|
|
|
|
|
|
|
| 服务 | 地址 |
|
|
|
|
|
|
|------|------|
|
|
|
|
|
|
| 主页 | http://localhost:9600 |
|
|
|
|
|
|
| 品种分析 | http://localhost:9600/futures-analysis |
|
|
|
|
|
|
| AI配置 | http://localhost:9600/ai-config |
|
|
|
|
|
|
| API文档 | http://localhost:9600/docs |
|
|
|
|
|
|
| 健康检查 | http://localhost:9600/api/v1/health |
|
|
|
|
|
|
|
|
|
|
|
|
## 🛠️ 日常管理
|
|
|
|
|
|
|
|
|
|
|
|
### 使用管理脚本
|
|
|
|
|
|
双击运行 `manage.bat`,可选择:
|
|
|
|
|
|
1. 启动服务
|
|
|
|
|
|
2. 停止服务
|
|
|
|
|
|
3. 重启服务
|
|
|
|
|
|
4. 查看日志
|
|
|
|
|
|
5. 查看状态
|
|
|
|
|
|
6. 进入容器
|
|
|
|
|
|
7. 清理资源
|
|
|
|
|
|
|
|
|
|
|
|
### 常用Docker命令
|
|
|
|
|
|
|
|
|
|
|
|
```powershell
|
|
|
|
|
|
# 查看容器状态
|
|
|
|
|
|
docker-compose ps
|
|
|
|
|
|
|
|
|
|
|
|
# 查看实时日志
|
|
|
|
|
|
docker-compose logs -f
|
|
|
|
|
|
|
|
|
|
|
|
# 查看最近100行日志
|
|
|
|
|
|
docker-compose logs --tail=100
|
|
|
|
|
|
|
|
|
|
|
|
# 重启服务
|
|
|
|
|
|
docker-compose restart
|
|
|
|
|
|
|
|
|
|
|
|
# 停止服务
|
|
|
|
|
|
docker-compose stop
|
|
|
|
|
|
|
|
|
|
|
|
# 启动服务
|
|
|
|
|
|
docker-compose start
|
|
|
|
|
|
|
|
|
|
|
|
# 停止并删除容器(保留数据)
|
|
|
|
|
|
docker-compose down
|
|
|
|
|
|
|
|
|
|
|
|
# 完全清理(包括数据卷)
|
|
|
|
|
|
docker-compose down -v
|
|
|
|
|
|
|
|
|
|
|
|
# 进入容器bash
|
|
|
|
|
|
docker exec -it futures-buffer-platform /bin/bash
|
|
|
|
|
|
|
|
|
|
|
|
# 查看容器资源使用
|
|
|
|
|
|
docker stats futures-buffer-platform
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
## 📁 目录结构
|
|
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
|
buffer_platform/
|
|
|
|
|
|
├── data/ # SQLite数据库(自动创建)
|
|
|
|
|
|
├── logs/ # 日志文件(自动创建)
|
|
|
|
|
|
├── app/
|
|
|
|
|
|
│ └── static/ # 前端静态文件
|
|
|
|
|
|
├── docker-compose.yml # Docker编排配置
|
|
|
|
|
|
├── Dockerfile # Docker镜像构建文件
|
|
|
|
|
|
├── deploy.bat # 一键部署脚本
|
|
|
|
|
|
└── manage.bat # 管理脚本
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
## 🔧 配置说明
|
|
|
|
|
|
|
|
|
|
|
|
### 环境变量
|
|
|
|
|
|
|
|
|
|
|
|
在 `docker-compose.yml` 中可配置:
|
|
|
|
|
|
|
|
|
|
|
|
| 变量 | 说明 | 默认值 |
|
|
|
|
|
|
|------|------|--------|
|
|
|
|
|
|
| BUFFER_DB_PATH | 数据库路径 | /app/data/buffer.db |
|
|
|
|
|
|
| BUFFER_HOST | 服务监听地址 | 0.0.0.0 |
|
|
|
|
|
|
| BUFFER_PORT | 服务端口 | 8600 |
|
|
|
|
|
|
| CACHE_TTL | 缓存过期时间(秒) | 300 |
|
|
|
|
|
|
| BUFFER_LOG_LEVEL | 日志级别 | INFO |
|
|
|
|
|
|
| MAX_WORKERS | 并发采集数 | 2 |
|
|
|
|
|
|
| TZ | 时区 | Asia/Shanghai |
|
|
|
|
|
|
|
|
|
|
|
|
### 端口映射
|
|
|
|
|
|
|
|
|
|
|
|
- 宿主机端口:9600
|
|
|
|
|
|
- 容器端口:8600
|
|
|
|
|
|
|
|
|
|
|
|
如需修改端口,编辑 `docker-compose.yml` 中的 `ports` 配置:
|
|
|
|
|
|
```yaml
|
|
|
|
|
|
ports:
|
|
|
|
|
|
- "你想要的端口:8600"
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
## 🔍 故障排查
|
|
|
|
|
|
|
|
|
|
|
|
### 1. 容器无法启动
|
|
|
|
|
|
```powershell
|
|
|
|
|
|
# 查看详细日志
|
|
|
|
|
|
docker-compose logs
|
|
|
|
|
|
|
|
|
|
|
|
# 检查端口占用
|
|
|
|
|
|
netstat -ano | findstr "9600"
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
### 2. 数据库问题
|
|
|
|
|
|
```powershell
|
|
|
|
|
|
# 进入容器检查数据库
|
|
|
|
|
|
docker exec -it futures-buffer-platform ls -la /app/data
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
### 3. 重新构建镜像
|
|
|
|
|
|
```powershell
|
|
|
|
|
|
# 清理旧镜像
|
|
|
|
|
|
docker-compose down
|
|
|
|
|
|
docker system prune -a
|
|
|
|
|
|
|
|
|
|
|
|
# 重新构建
|
|
|
|
|
|
docker-compose build --no-cache
|
|
|
|
|
|
docker-compose up -d
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
### 4. 查看健康状态
|
|
|
|
|
|
```powershell
|
|
|
|
|
|
# 查看容器健康检查状态
|
|
|
|
|
|
docker inspect --format='{{.State.Health.Status}}' futures-buffer-platform
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
## 🔄 更新部署
|
|
|
|
|
|
|
|
|
|
|
|
当代码有更新时:
|
|
|
|
|
|
|
|
|
|
|
|
```powershell
|
|
|
|
|
|
# 方法一:使用部署脚本
|
|
|
|
|
|
deploy.bat
|
|
|
|
|
|
|
|
|
|
|
|
# 方法二:手动更新
|
|
|
|
|
|
docker-compose down
|
|
|
|
|
|
docker-compose build --no-cache
|
|
|
|
|
|
docker-compose up -d
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
## 📊 监控和日志
|
|
|
|
|
|
|
|
|
|
|
|
### 实时日志
|
|
|
|
|
|
```powershell
|
|
|
|
|
|
docker-compose logs -f buffer-platform
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
### 容器资源监控
|
|
|
|
|
|
```powershell
|
|
|
|
|
|
docker stats futures-buffer-platform
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
### 日志位置
|
|
|
|
|
|
- 容器内:/app/logs/
|
|
|
|
|
|
- 宿主机:./logs/
|
|
|
|
|
|
|
|
|
|
|
|
## 🗄️ 数据备份
|
|
|
|
|
|
|
|
|
|
|
|
### 备份数据库
|
|
|
|
|
|
```powershell
|
|
|
|
|
|
docker cp futures-buffer-platform:/app/data/buffer.db ./backup_buffer.db
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
### 恢复数据库
|
|
|
|
|
|
```powershell
|
|
|
|
|
|
docker cp ./backup_buffer.db futures-buffer-platform:/app/data/buffer.db
|
|
|
|
|
|
docker-compose restart
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
## 🎯 生产环境建议
|
|
|
|
|
|
|
|
|
|
|
|
1. **修改默认端口**:避免端口冲突
|
|
|
|
|
|
2. **配置日志轮转**:在docker-compose.yml中添加:
|
|
|
|
|
|
```yaml
|
|
|
|
|
|
logging:
|
|
|
|
|
|
driver: "json-file"
|
|
|
|
|
|
options:
|
|
|
|
|
|
max-size: "10m"
|
|
|
|
|
|
max-file: "3"
|
|
|
|
|
|
```
|
|
|
|
|
|
3. **数据卷备份**:定期备份data目录
|
|
|
|
|
|
4. **监控资源**:使用docker stats监控资源使用
|
|
|
|
|
|
5. **设置重启策略**:已配置为 `unless-stopped`
|
|
|
|
|
|
|
|
|
|
|
|
## 📞 技术支持
|
|
|
|
|
|
|
|
|
|
|
|
如遇问题,请检查:
|
|
|
|
|
|
1. Docker Desktop是否正常运行
|
|
|
|
|
|
2. 端口9600是否被占用
|
|
|
|
|
|
3. 查看容器日志:`docker-compose logs`
|
|
|
|
|
|
4. 检查健康状态:`docker-compose ps`
|