TradingAgents-CN v0.1.7 引入了完整的Docker容器化部署方案,让您可以通过一条命令启动完整的股票分析环境。本指南将详细介绍如何使用Docker部署和管理TradingAgents-CN。
- ✅ 一键部署:
docker-compose up -d启动完整环境 - ✅ 环境一致: 开发、测试、生产环境完全一致
- ✅ 依赖管理: 自动处理所有依赖和版本冲突
- ✅ 服务集成: Web应用、数据库、缓存一体化
- ✅ 易于维护: 简化更新、备份、恢复流程
| 特性 | 传统部署 | Docker部署 |
|---|---|---|
| 部署时间 | 30-60分钟 | 5-10分钟 |
| 环境配置 | 复杂手动配置 | 自动化配置 |
| 依赖管理 | 手动安装 | 自动处理 |
| 服务管理 | 分别启动 | 统一管理 |
| 故障排除 | 复杂 | 简化 |
| 组件 | 最低版本 | 推荐版本 | 安装方法 |
|---|---|---|---|
| Docker | 20.0+ | 最新版 | 官方安装指南 |
| Docker Compose | 2.0+ | 最新版 | 通常随Docker一起安装 |
| 内存 | 4GB | 8GB+ | 系统要求 |
| 磁盘空间 | 10GB | 20GB+ | 存储要求 |
# 1. 下载Docker Desktop
# https://www.docker.com/products/docker-desktop
# 2. 安装并启动Docker Desktop
# 3. 验证安装
docker --version
docker-compose --version# 1. 更新包索引
sudo apt update
# 2. 安装Docker
sudo apt install docker.io docker-compose
# 3. 启动Docker服务
sudo systemctl start docker
sudo systemctl enable docker
# 4. 添加用户到docker组
sudo usermod -aG docker $USER
# 5. 验证安装
docker --version
docker-compose --version# 1. 使用Homebrew安装
brew install --cask docker
# 2. 启动Docker Desktop
# 3. 验证安装
docker --version
docker-compose --version# 克隆项目
git clone https://github.com/hsliuping/TradingAgents-CN.git
cd TradingAgents-CN
# 检查版本
cat VERSION重要说明: TradingAgents-CN目前不提供预构建的Docker镜像,需要在本地构建。
- 定制化需求: 不同用户可能需要不同的配置
- 安全考虑: 避免在公共镜像中包含敏感信息
- 版本灵活性: 支持用户自定义修改和扩展
- 依赖优化: 根据实际需求安装依赖
# Docker构建过程包括:
1. 下载基础镜像 (python:3.10-slim) - 约200MB
2. 安装系统依赖 (pandoc, wkhtmltopdf, 中文字体) - 约300MB
3. 安装Python依赖 (requirements.txt) - 约500MB
4. 复制应用代码 - 约50MB
5. 配置运行环境
# 总镜像大小约1GB,首次构建需要5-10分钟# 复制配置模板
cp .env.example .env
# 编辑配置文件
# Windows: notepad .env
# Linux/macOS: nano .env# === LLM模型配置 (至少配置一个) ===
# DeepSeek (推荐 - 成本低)
DEEPSEEK_API_KEY=sk-your_deepseek_api_key_here
DEEPSEEK_ENABLED=true
# 阿里百炼 (推荐 - 中文优化)
QWEN_API_KEY=your_qwen_api_key
QWEN_ENABLED=true
# Google AI (推荐 - 推理能力强)
GOOGLE_API_KEY=your_google_api_key
GOOGLE_ENABLED=true# === 数据源配置 ===
TUSHARE_TOKEN=your_tushare_token
FINNHUB_API_KEY=your_finnhub_key
# === 导出功能配置 ===
EXPORT_ENABLED=true
EXPORT_DEFAULT_FORMAT=word,pdf
# === Docker特定配置 ===
MONGODB_URL=mongodb://mongodb:27017/tradingagents
REDIS_URL=redis://redis:6379# 首次启动:构建镜像并启动所有服务
docker-compose up -d --build
# 注意:首次运行会自动构建Docker镜像,包含以下步骤:
# - 下载基础镜像 (python:3.10-slim)
# - 安装系统依赖 (pandoc, wkhtmltopdf等)
# - 安装Python依赖
# - 复制应用代码
# 整个过程需要5-10分钟,请耐心等待
# 后续启动(镜像已构建):
# docker-compose up -d
# 查看服务状态
docker-compose ps
# 查看启动日志
docker-compose logs -f# 检查服务状态
docker-compose ps
# 应该看到以下服务运行中:
# - TradingAgents-web (Web应用)
# - TradingAgents-mongodb (数据库)
# - TradingAgents-redis (缓存)
# - TradingAgents-mongo-express (数据库管理)
# - TradingAgents-redis-commander (缓存管理)| 服务 | 地址 | 用途 |
|---|---|---|
| 主应用 | http://localhost:8501 | 股票分析界面 |
| 数据库管理 | http://localhost:8081 | MongoDB管理 |
| 缓存管理 | http://localhost:8082 | Redis管理 |
- 访问主界面: http://localhost:8501
- 选择LLM模型: 推荐DeepSeek V3(成本低)
- 输入股票代码:
- A股: 000001, 600519, 000858
- 美股: AAPL, TSLA, MSFT
- 选择分析深度: 快速/标准/深度
- 开始分析: 点击"开始分析"按钮
- 导出报告: 选择Word/PDF/Markdown格式
- 访问MongoDB管理: http://localhost:8081
- 查看分析结果: 浏览tradingagents数据库
- 管理数据: 查看、编辑、删除分析记录
- 访问Redis管理: http://localhost:8082
- 查看缓存数据: 浏览缓存的股价和分析数据
- 清理缓存: 删除过期或无用的缓存
# 启动服务
docker-compose up -d
# 停止服务
docker-compose down
# 重启服务
docker-compose restart
# 查看服务状态
docker-compose ps
# 查看服务日志
docker-compose logs -f web
docker-compose logs -f mongodb
docker-compose logs -f redis# 备份数据
docker exec TradingAgents-mongodb mongodump --out /backup
docker exec TradingAgents-redis redis-cli BGSAVE
# 清理缓存
docker exec TradingAgents-redis redis-cli FLUSHALL
# 查看数据使用情况
docker exec TradingAgents-mongodb mongo --eval "db.stats()"# 1. 停止服务
docker-compose down
# 2. 更新代码
git pull origin main
# 3. 重新构建镜像
docker-compose build
# 4. 启动服务
docker-compose up -d问题: 服务启动失败,提示端口被占用
解决方案:
# 检查端口占用
netstat -tulpn | grep :8501
# 修改端口配置
# 编辑docker-compose.yml,修改端口映射
ports:
- "8502:8501" # 改为其他端口问题: 容器启动失败或运行缓慢
解决方案:
# 检查内存使用
docker stats
# 增加Docker内存限制
# Docker Desktop -> Settings -> Resources -> Memory
# 建议分配至少4GB内存问题: Web应用无法连接数据库
解决方案:
# 检查数据库容器状态
docker logs TradingAgents-mongodb
# 检查网络连接
docker exec TradingAgents-web ping mongodb
# 重启数据库服务
docker-compose restart mongodb问题: LLM调用失败
解决方案:
# 检查环境变量
docker exec TradingAgents-web env | grep API_KEY
# 重新配置.env文件
# 重启服务
docker-compose restart web# 1. 清理无用镜像
docker image prune
# 2. 清理无用容器
docker container prune
# 3. 清理无用数据卷
docker volume prune
# 4. 查看资源使用
docker stats# 检查所有服务健康状态
docker-compose ps
# 检查特定服务日志
docker logs TradingAgents-web --tail 50
# 检查系统资源使用
docker stats --no-stream# 每周执行一次
# 1. 备份数据
docker exec TradingAgents-mongodb mongodump --out /backup/$(date +%Y%m%d)
# 2. 清理日志
docker-compose logs --tail 0 -f > /dev/null
# 3. 更新镜像
docker-compose pull
docker-compose up -d# docker-compose.prod.yml
version: '3.8'
services:
web:
deploy:
resources:
limits:
cpus: '2.0'
memory: 4G
reservations:
memory: 2G
restart: unless-stopped# 启用认证
MONGO_INITDB_ROOT_USERNAME=admin
MONGO_INITDB_ROOT_PASSWORD=secure_password
REDIS_PASSWORD=secure_redis_password如果在Docker部署过程中遇到问题:
最后更新: 2025-07-13
版本: cn-0.1.7
贡献者: @breeze303