|
|
|
@ -1,56 +1,62 @@
|
|
|
|
# 数据缓冲平台 Docker 部署文档
|
|
|
|
# 期货智析缓冲平台 - Docker部署文档
|
|
|
|
|
|
|
|
|
|
|
|
## 目录结构
|
|
|
|
## 目录结构
|
|
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
```
|
|
|
|
buffer_platform/
|
|
|
|
buffer_platform/
|
|
|
|
├── app/ # 应用代码
|
|
|
|
├── app/ # 应用代码
|
|
|
|
├── config/ # 配置文件
|
|
|
|
├── static/ # 前端静态文件
|
|
|
|
├── data/ # 本地数据目录
|
|
|
|
├── data/ # 本地数据目录(开发用)
|
|
|
|
├── Dockerfile # Docker镜像构建文件
|
|
|
|
├── Dockerfile # Docker镜像构建文件
|
|
|
|
├── docker-compose.yml # Docker Compose配置文件
|
|
|
|
├── docker-compose.yml # Docker Compose配置文件
|
|
|
|
|
|
|
|
├── .env # 环境变量配置
|
|
|
|
├── .dockerignore # Docker构建忽略文件
|
|
|
|
├── .dockerignore # Docker构建忽略文件
|
|
|
|
└── requirements.txt # Python 依赖
|
|
|
|
├── requirements.txt # Python依赖
|
|
|
|
|
|
|
|
├── deploy.bat # 一键部署脚本
|
|
|
|
|
|
|
|
├── start.bat # 启动服务
|
|
|
|
|
|
|
|
├── stop.bat # 停止服务
|
|
|
|
|
|
|
|
├── logs.bat # 查看日志
|
|
|
|
|
|
|
|
└── backup.bat # 数据库备份
|
|
|
|
```
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
## 环境要求
|
|
|
|
## 环境要求
|
|
|
|
|
|
|
|
|
|
|
|
- Docker Desktop for Windows
|
|
|
|
- Docker Desktop for Windows
|
|
|
|
- Docker Compose v3.8+
|
|
|
|
- Docker Compose v3.8+
|
|
|
|
- Windows 10/11 或 Windows Server
|
|
|
|
- Windows 10/11
|
|
|
|
|
|
|
|
|
|
|
|
## 快速部署
|
|
|
|
## 快速部署
|
|
|
|
|
|
|
|
|
|
|
|
### 1. 构建并启动容器
|
|
|
|
### 方式一:一键部署(推荐)
|
|
|
|
|
|
|
|
|
|
|
|
```powershell
|
|
|
|
```powershell
|
|
|
|
cd d:\alpha_workspace\buffer_platform
|
|
|
|
cd e:\docker_workspace\cobot2.0_WorkHorse\app\working\workspaces\default\share_data\project\market_data_colector_platform\buffer_platform
|
|
|
|
docker-compose up -d --build
|
|
|
|
deploy.bat
|
|
|
|
```
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
### 2. 查看容器状态
|
|
|
|
### 方式二:手动部署
|
|
|
|
|
|
|
|
|
|
|
|
```powershell
|
|
|
|
```powershell
|
|
|
|
docker-compose ps
|
|
|
|
# 1. 创建数据目录
|
|
|
|
```
|
|
|
|
mkdir E:\docker_workspace\futures_datas
|
|
|
|
|
|
|
|
mkdir E:\docker_workspace\futures_datas\logs
|
|
|
|
### 3. 查看日志
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
```powershell
|
|
|
|
# 2. 构建并启动
|
|
|
|
# 查看实时日志
|
|
|
|
docker-compose up -d --build
|
|
|
|
docker-compose logs -f
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# 查看最近 100 行日志
|
|
|
|
# 3. 查看状态
|
|
|
|
docker-compose logs --tail=100
|
|
|
|
docker-compose ps
|
|
|
|
```
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
## 访问地址
|
|
|
|
## 访问地址
|
|
|
|
|
|
|
|
|
|
|
|
| 服务 | 地址 |
|
|
|
|
| 页面 | 地址 |
|
|
|
|
|------|------|
|
|
|
|
|------|------|
|
|
|
|
| 前端页面 | http://localhost:9600/ui |
|
|
|
|
| **品种分析** | http://localhost:9600/futures-analysis |
|
|
|
|
| API 文档 | http://localhost:9600/docs |
|
|
|
|
| **配置管理** | http://localhost:9600/ui |
|
|
|
|
| 健康检查 | http://localhost:9600/api/v1/health |
|
|
|
|
| **AI配置** | http://localhost:9600/ai-config |
|
|
|
|
|
|
|
|
| **API文档** | http://localhost:9600/docs |
|
|
|
|
|
|
|
|
| **健康检查** | http://localhost:9600/api/v1/health |
|
|
|
|
|
|
|
|
|
|
|
|
## 数据持久化
|
|
|
|
## 数据持久化
|
|
|
|
|
|
|
|
|
|
|
|
@ -59,6 +65,7 @@ docker-compose logs --tail=100
|
|
|
|
| 宿主机路径 | 容器路径 | 说明 |
|
|
|
|
| 宿主机路径 | 容器路径 | 说明 |
|
|
|
|
|-----------|----------|------|
|
|
|
|
|-----------|----------|------|
|
|
|
|
| `E:\docker_workspace\futures_datas` | `/app/data` | SQLite数据库及缓存数据 |
|
|
|
|
| `E:\docker_workspace\futures_datas` | `/app/data` | SQLite数据库及缓存数据 |
|
|
|
|
|
|
|
|
| `E:\docker_workspace\futures_datas\logs` | `/app/logs` | 日志文件 |
|
|
|
|
|
|
|
|
|
|
|
|
### 数据目录结构
|
|
|
|
### 数据目录结构
|
|
|
|
|
|
|
|
|
|
|
|
@ -66,67 +73,58 @@ docker-compose logs --tail=100
|
|
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
```
|
|
|
|
E:\docker_workspace\futures_datas\
|
|
|
|
E:\docker_workspace\futures_datas\
|
|
|
|
└── buffer.db # SQLite 数据库文件
|
|
|
|
├── buffer.db # SQLite数据库文件
|
|
|
|
|
|
|
|
├── futures_analysis.db # AI分析数据库
|
|
|
|
|
|
|
|
└── logs/ # 日志目录
|
|
|
|
|
|
|
|
└── (应用日志文件)
|
|
|
|
```
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
## 常用操作
|
|
|
|
## 常用管理命令
|
|
|
|
|
|
|
|
|
|
|
|
### 停止服务
|
|
|
|
### 使用批处理脚本
|
|
|
|
|
|
|
|
|
|
|
|
```powershell
|
|
|
|
```powershell
|
|
|
|
docker-compose stop
|
|
|
|
deploy.bat # 一键部署
|
|
|
|
|
|
|
|
start.bat # 启动服务
|
|
|
|
|
|
|
|
stop.bat # 停止服务
|
|
|
|
|
|
|
|
logs.bat # 查看日志
|
|
|
|
|
|
|
|
backup.bat # 数据库备份
|
|
|
|
```
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
### 启动服务
|
|
|
|
### 使用Docker Compose命令
|
|
|
|
|
|
|
|
|
|
|
|
```powershell
|
|
|
|
```powershell
|
|
|
|
|
|
|
|
# 启动服务
|
|
|
|
docker-compose start
|
|
|
|
docker-compose start
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
### 重启服务
|
|
|
|
# 停止服务
|
|
|
|
|
|
|
|
docker-compose stop
|
|
|
|
|
|
|
|
|
|
|
|
```powershell
|
|
|
|
# 重启服务
|
|
|
|
docker-compose restart
|
|
|
|
docker-compose restart
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
### 停止并删除容器
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
```powershell
|
|
|
|
|
|
|
|
docker-compose down
|
|
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
### 停止并删除容器及数据卷
|
|
|
|
# 查看状态
|
|
|
|
|
|
|
|
docker-compose ps
|
|
|
|
> ⚠️ 警告:此操作将删除所有持久化数据!
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
```powershell
|
|
|
|
# 查看日志
|
|
|
|
docker-compose down -v
|
|
|
|
docker-compose logs -f
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
### 重新构建并启动
|
|
|
|
# 停止并删除容器
|
|
|
|
|
|
|
|
docker-compose down
|
|
|
|
|
|
|
|
|
|
|
|
```powershell
|
|
|
|
# 重新构建并启动
|
|
|
|
docker-compose up -d --build
|
|
|
|
docker-compose up -d --build
|
|
|
|
```
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
### 更新镜像
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
```powershell
|
|
|
|
|
|
|
|
# 拉取最新代码后
|
|
|
|
|
|
|
|
docker-compose down
|
|
|
|
|
|
|
|
docker-compose build --no-cache
|
|
|
|
|
|
|
|
docker-compose up -d
|
|
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
## 环境变量配置
|
|
|
|
## 环境变量配置
|
|
|
|
|
|
|
|
|
|
|
|
可在 `docker-compose.yml` 中修改以下环境变量:
|
|
|
|
可在 `.env` 文件或 `docker-compose.yml` 中修改:
|
|
|
|
|
|
|
|
|
|
|
|
| 变量名 | 默认值 | 说明 |
|
|
|
|
| 变量名 | 默认值 | 说明 |
|
|
|
|
|--------|--------|------|
|
|
|
|
|--------|--------|------|
|
|
|
|
| `BUFFER_DB_PATH` | `/app/data/buffer.db` | 数据库文件路径 |
|
|
|
|
| `BUFFER_DB_PATH` | `/app/data/buffer.db` | 数据库文件路径 |
|
|
|
|
| `BUFFER_HOST` | `0.0.0.0` | 服务监听地址 |
|
|
|
|
| `BUFFER_HOST` | `0.0.0.0` | 服务监听地址 |
|
|
|
|
| `BUFFER_PORT` | `8600` | 容器内服务端口 |
|
|
|
|
| `BUFFER_PORT` | `8600` | 容器内端口 |
|
|
|
|
| `CACHE_TTL` | `300` | 缓存过期时间(秒) |
|
|
|
|
| `CACHE_TTL` | `300` | 缓存过期时间(秒) |
|
|
|
|
| `BUFFER_LOG_LEVEL` | `INFO` | 日志级别 |
|
|
|
|
| `BUFFER_LOG_LEVEL` | `INFO` | 日志级别 |
|
|
|
|
| `MAX_WORKERS` | `2` | 并发采集数 |
|
|
|
|
| `MAX_WORKERS` | `2` | 并发采集数 |
|
|
|
|
@ -137,19 +135,25 @@ docker-compose up -d
|
|
|
|
|
|
|
|
|
|
|
|
```yaml
|
|
|
|
```yaml
|
|
|
|
ports:
|
|
|
|
ports:
|
|
|
|
- "9600:8600" # 修改 9600 为其他端口
|
|
|
|
- "9600:8600" # 将9600改为其他端口
|
|
|
|
```
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
## 数据备份
|
|
|
|
## 数据备份与恢复
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
### 方式一:使用备份脚本
|
|
|
|
|
|
|
|
|
|
|
|
### 备份数据库
|
|
|
|
```powershell
|
|
|
|
|
|
|
|
backup.bat
|
|
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
### 方式二:手动备份
|
|
|
|
|
|
|
|
|
|
|
|
```powershell
|
|
|
|
```powershell
|
|
|
|
# 停止服务
|
|
|
|
# 停止服务
|
|
|
|
docker-compose stop
|
|
|
|
docker-compose stop
|
|
|
|
|
|
|
|
|
|
|
|
# 复制数据文件
|
|
|
|
# 复制数据库
|
|
|
|
xcopy E:\docker_workspace\futures_datas\buffer.db E:\backup\buffer_$(Get-Date -Format 'yyyyMMdd').db
|
|
|
|
xcopy E:\docker_workspace\futures_datas\buffer.db E:\backup\buffer_%date:~0,4%%date:~5,2%%date:~8,2%.db
|
|
|
|
|
|
|
|
|
|
|
|
# 启动服务
|
|
|
|
# 启动服务
|
|
|
|
docker-compose start
|
|
|
|
docker-compose start
|
|
|
|
@ -161,8 +165,8 @@ docker-compose start
|
|
|
|
# 停止服务
|
|
|
|
# 停止服务
|
|
|
|
docker-compose stop
|
|
|
|
docker-compose stop
|
|
|
|
|
|
|
|
|
|
|
|
# 复制备份文件到数据目录
|
|
|
|
# 恢复数据库
|
|
|
|
copy E:\backup\buffer_20260517.db E:\docker_workspace\futures_datas\buffer.db
|
|
|
|
copy E:\backup\buffer_20260523.db E:\docker_workspace\futures_datas\buffer.db
|
|
|
|
|
|
|
|
|
|
|
|
# 启动服务
|
|
|
|
# 启动服务
|
|
|
|
docker-compose start
|
|
|
|
docker-compose start
|
|
|
|
@ -178,40 +182,50 @@ docker-compose logs
|
|
|
|
|
|
|
|
|
|
|
|
# 检查容器状态
|
|
|
|
# 检查容器状态
|
|
|
|
docker ps -a
|
|
|
|
docker ps -a
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# 删除容器重新构建
|
|
|
|
|
|
|
|
docker-compose down
|
|
|
|
|
|
|
|
docker-compose up -d --build
|
|
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
### 端口冲突
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
```powershell
|
|
|
|
|
|
|
|
# 检查端口占用
|
|
|
|
|
|
|
|
netstat -ano | findstr "9600"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# 修改docker-compose.yml中的端口映射
|
|
|
|
```
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
### 数据库权限问题
|
|
|
|
### 数据库权限问题
|
|
|
|
|
|
|
|
|
|
|
|
确保 `E:\docker_workspace\futures_datas` 目录存在且有写入权限:
|
|
|
|
确保数据目录存在:
|
|
|
|
|
|
|
|
|
|
|
|
```powershell
|
|
|
|
```powershell
|
|
|
|
# 创建数据目录
|
|
|
|
|
|
|
|
mkdir E:\docker_workspace\futures_datas
|
|
|
|
mkdir E:\docker_workspace\futures_datas
|
|
|
|
|
|
|
|
mkdir E:\docker_workspace\futures_datas\logs
|
|
|
|
```
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
### 端口冲突
|
|
|
|
### 进入容器
|
|
|
|
|
|
|
|
|
|
|
|
```powershell
|
|
|
|
```powershell
|
|
|
|
# 检查端口占用
|
|
|
|
docker exec -it futures-buffer-platform /bin/bash
|
|
|
|
netstat -ano | findstr "9600"
|
|
|
|
|
|
|
|
```
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
### 进入容器
|
|
|
|
### 查看资源使用
|
|
|
|
|
|
|
|
|
|
|
|
```powershell
|
|
|
|
```powershell
|
|
|
|
docker exec -it buffer-platform /bin/bash
|
|
|
|
docker stats futures-buffer-platform
|
|
|
|
```
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
## 健康检查
|
|
|
|
## 健康检查
|
|
|
|
|
|
|
|
|
|
|
|
服务内置健康检查端点:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
```powershell
|
|
|
|
```powershell
|
|
|
|
# PowerShell
|
|
|
|
# PowerShell
|
|
|
|
Invoke-WebRequest -Uri http://localhost:9600/api/v1/health
|
|
|
|
Invoke-WebRequest -Uri http://localhost:9600/api/v1/health
|
|
|
|
|
|
|
|
|
|
|
|
# 或使用 curl
|
|
|
|
# 浏览器访问
|
|
|
|
curl http://localhost:9600/api/v1/health
|
|
|
|
http://localhost:9600/api/v1/health
|
|
|
|
```
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
正常响应:
|
|
|
|
正常响应:
|
|
|
|
@ -222,3 +236,48 @@ curl http://localhost:9600/api/v1/health
|
|
|
|
"service": "market-data-buffer"
|
|
|
|
"service": "market-data-buffer"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
```
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
## 更新应用
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
```powershell
|
|
|
|
|
|
|
|
# 1. 备份数据库
|
|
|
|
|
|
|
|
backup.bat
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# 2. 停止服务
|
|
|
|
|
|
|
|
docker-compose stop
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# 3. 删除旧容器
|
|
|
|
|
|
|
|
docker-compose rm -f
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# 4. 重新构建
|
|
|
|
|
|
|
|
docker-compose build --no-cache
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# 5. 启动新容器
|
|
|
|
|
|
|
|
docker-compose up -d
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# 6. 验证服务
|
|
|
|
|
|
|
|
curl http://localhost:9600/api/v1/health
|
|
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
## 安全建议
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1. **定期备份数据库** - 使用 `backup.bat` 定期备份
|
|
|
|
|
|
|
|
2. **监控日志** - 使用 `logs.bat` 查看异常
|
|
|
|
|
|
|
|
3. **限制端口访问** - 防火墙只开放必要端口
|
|
|
|
|
|
|
|
4. **数据目录权限** - 确保数据目录有适当权限
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
## 技术支持
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
遇到问题请查看日志:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
```powershell
|
|
|
|
|
|
|
|
logs.bat
|
|
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
或进入容器检查:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
```powershell
|
|
|
|
|
|
|
|
docker exec -it futures-buffer-platform /bin/bash
|
|
|
|
|
|
|
|
cd /app/logs
|
|
|
|
|
|
|
|
ls -la
|
|
|
|
|
|
|
|
```
|
|
|
|
|