本文档介绍如何使用 Docker 部署 AlphaMapping 平台。
- Docker 20.10+
- Docker Compose 2.0+
- 至少 2GB 可用内存
- 至少 5GB 可用磁盘空间
在项目根目录创建 .env 文件:
# 复制示例配置
cp backend/.env.example .env
# 编辑配置
nano .env # 或使用任意编辑器必填配置项:
FOFA_EMAIL=your_fofa_email
FOFA_KEY=your_fofa_api_key
ZOOMEYE_KEY=your_zoomeye_api_key
OPENAI_API_KEY=your_openai_api_key
OPENAI_BASE_URL=https://api.openai.com/v1
LLM_MODEL=gpt-4# 构建镜像并启动服务
docker-compose up -d --build
# 查看服务状态
docker-compose ps
# 查看日志
docker-compose logs -f- 前端界面: http://localhost
- API 文档: http://localhost:8000/docs
- API 端点: http://localhost:8000
容器数据存储在 ./data 目录:
data/
├── alpha_mapping.db # SQLite 数据库
└── reports/ # 生成的报告文件
⚠️ 重要: 请定期备份data/目录。
# 停止服务
docker-compose down
# 重启服务
docker-compose restart
# 重建并启动(代码更新后)
docker-compose up -d --build
# 查看容器日志
docker-compose logs backend
docker-compose logs frontend
# 进入容器调试
docker-compose exec backend bash
docker-compose exec frontend sh修改 docker/nginx.conf:
server_name your-domain.com;建议使用 Nginx 反向代理或 Traefik 处理 SSL 证书。
示例 Traefik 配置(在 docker-compose.yml 中添加):
labels:
- "traefik.enable=true"
- "traefik.http.routers.alphamapping.rule=Host(`your-domain.com`)"
- "traefik.http.routers.alphamapping.entrypoints=websecure"
- "traefik.http.routers.alphamapping.tls.certresolver=letsencrypt"在 docker-compose.yml 中添加:
services:
backend:
deploy:
resources:
limits:
cpus: '2'
memory: 2G检查日志:
docker-compose logs backend常见问题:
- 端口冲突: 确保 80 和 8000 端口未被占用
- 权限问题: 确保
data/目录可写 - 配置错误: 检查
.env文件格式
-
检查后端健康状态:
curl http://localhost:8000/
-
检查 Nginx 代理:
docker-compose logs frontend
重置数据库(
docker-compose down
rm -rf data/alpha_mapping.db
docker-compose up -d服务内置健康检查,可通过以下命令查看:
docker-compose psdocker stats alphamapping-backend alphamapping-frontend# 拉取最新代码
git pull
# 重建镜像
docker-compose build --no-cache
# 重启服务
docker-compose up -d如有问题,请提交 Issue 或联系维护团队。