# 期货智析缓冲平台 - Docker部署文档 ## 目录结构 ``` buffer_platform/ ├── app/ # 应用代码 ├── static/ # 前端静态文件 ├── data/ # 本地数据目录(开发用) ├── Dockerfile # Docker镜像构建文件 ├── docker-compose.yml # Docker Compose配置文件 ├── .env # 环境变量配置 ├── .dockerignore # Docker构建忽略文件 ├── requirements.txt # Python依赖 ├── deploy.bat # 一键部署脚本 ├── start.bat # 启动服务 ├── stop.bat # 停止服务 ├── logs.bat # 查看日志 └── backup.bat # 数据库备份 ``` ## 环境要求 - Docker Desktop for Windows - Docker Compose v3.8+ - Windows 10/11 ## 快速部署 ### 方式一:一键部署(推荐) ```powershell cd e:\docker_workspace\cobot2.0_WorkHorse\app\working\workspaces\default\share_data\project\market_data_colector_platform\buffer_platform deploy.bat ``` ### 方式二:手动部署 ```powershell # 1. 创建数据目录 mkdir E:\docker_workspace\futures_datas mkdir E:\docker_workspace\futures_datas\logs # 2. 构建并启动 docker-compose up -d --build # 3. 查看状态 docker-compose ps ``` ## 访问地址 | 页面 | 地址 | |------|------| | **品种分析** | http://localhost:9600/futures-analysis | | **配置管理** | http://localhost:9600/ui | | **AI配置** | http://localhost:9600/ai-config | | **API文档** | http://localhost:9600/docs | | **健康检查** | http://localhost:9600/api/v1/health | ## 数据持久化 ### 挂载路径 | 宿主机路径 | 容器路径 | 说明 | |-----------|----------|------| | `E:\docker_workspace\futures_datas` | `/app/data` | SQLite数据库及缓存数据 | | `E:\docker_workspace\futures_datas\logs` | `/app/logs` | 日志文件 | ### 数据目录结构 容器启动后,`E:\docker_workspace\futures_datas` 目录将包含: ``` E:\docker_workspace\futures_datas\ ├── buffer.db # SQLite数据库文件 ├── futures_analysis.db # AI分析数据库 └── logs/ # 日志目录 └── (应用日志文件) ``` ## 常用管理命令 ### 使用批处理脚本 ```powershell deploy.bat # 一键部署 start.bat # 启动服务 stop.bat # 停止服务 logs.bat # 查看日志 backup.bat # 数据库备份 ``` ### 使用Docker Compose命令 ```powershell # 启动服务 docker-compose start # 停止服务 docker-compose stop # 重启服务 docker-compose restart # 查看状态 docker-compose ps # 查看日志 docker-compose logs -f # 停止并删除容器 docker-compose down # 重新构建并启动 docker-compose up -d --build ``` ## 环境变量配置 可在 `.env` 文件或 `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` | 并发采集数 | ## 端口修改 如需修改宿主机绑定端口,编辑 `docker-compose.yml`: ```yaml ports: - "9600:8600" # 将9600改为其他端口 ``` ## 数据备份与恢复 ### 方式一:使用备份脚本 ```powershell backup.bat ``` ### 方式二:手动备份 ```powershell # 停止服务 docker-compose stop # 复制数据库 xcopy E:\docker_workspace\futures_datas\buffer.db E:\backup\buffer_%date:~0,4%%date:~5,2%%date:~8,2%.db # 启动服务 docker-compose start ``` ### 恢复数据库 ```powershell # 停止服务 docker-compose stop # 恢复数据库 copy E:\backup\buffer_20260523.db E:\docker_workspace\futures_datas\buffer.db # 启动服务 docker-compose start ``` ## 故障排查 ### 容器无法启动 ```powershell # 查看详细日志 docker-compose logs # 检查容器状态 docker ps -a # 删除容器重新构建 docker-compose down docker-compose up -d --build ``` ### 端口冲突 ```powershell # 检查端口占用 netstat -ano | findstr "9600" # 修改docker-compose.yml中的端口映射 ``` ### 数据库权限问题 确保数据目录存在: ```powershell mkdir E:\docker_workspace\futures_datas mkdir E:\docker_workspace\futures_datas\logs ``` ### 进入容器 ```powershell docker exec -it futures-buffer-platform /bin/bash ``` ### 查看资源使用 ```powershell docker stats futures-buffer-platform ``` ## 健康检查 ```powershell # PowerShell Invoke-WebRequest -Uri http://localhost:9600/api/v1/health # 浏览器访问 http://localhost:9600/api/v1/health ``` 正常响应: ```json { "status": "ok", "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 ```