增加支持docker部署

This commit is contained in:
oficcejo
2025-10-09 08:01:06 +08:00
parent 0c11a7b010
commit 64e7617c8c
18 changed files with 920 additions and 1585 deletions
+251
View File
@@ -0,0 +1,251 @@
# 🐳 Docker 部署快速指南
本文档是Docker部署的快速参考指南。完整文档请查看 [DOCKER_DEPLOYMENT.md](DOCKER_DEPLOYMENT.md)。
## 🎯 为什么选择Docker部署?
-**零环境配置**:无需安装Python、Node.js等环境
-**一键启动**:简单命令即可运行
-**环境隔离**:不影响系统其他软件
-**跨平台**Windows/macOS/Linux统一部署方式
-**稳定可靠**:容器自动重启,故障自动恢复
## ⚡ 5分钟快速开始
### 1️⃣ 安装Docker
**Windows/macOS:**
- 下载 [Docker Desktop](https://www.docker.com/products/docker-desktop/)
- 双击安装,启动Docker Desktop
**Linux:**
```bash
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
```
### 2️⃣ 配置环境变量
```bash
# 复制配置模板
cp .env.template .env
# 编辑 .env 文件,填入你的 DeepSeek API Key
# DEEPSEEK_API_KEY=sk-your-actual-api-key-here
```
### 3️⃣ 启动服务
```bash
# 一键启动
docker-compose up -d
# 查看日志(可选)
docker-compose logs -f
```
### 4️⃣ 访问系统
打开浏览器访问:**http://localhost:8503**
## 🎮 常用命令
```bash
# 启动服务
docker-compose up -d
# 停止服务
docker-compose down
# 重启服务
docker-compose restart
# 查看日志
docker-compose logs -f
# 查看运行状态
docker ps
# 进入容器(调试用)
docker exec -it agentsstock1 bash
```
## 📁 项目结构
```
agentsstock1/
├── Dockerfile # Docker镜像构建文件
├── docker-compose.yml # Docker编排配置
├── .dockerignore # Docker构建忽略文件
├── .env.template # 环境变量模板
├── .env # 环境变量配置(需自己创建)
├── DOCKER_DEPLOYMENT.md # 详细部署文档
├── DOCKER_CHECKLIST.md # 部署检查清单
└── README.md # 项目主文档
```
## 🔑 关键特性
### Node.js 环境集成
Docker镜像已内置Node.js 18.x环境,支持pywencai等需要Node.js的Python包。
### 数据持久化
以下数据会自动保存到宿主机:
- `stock_analysis.db` - 分析历史数据库
- `stock_monitor.db` - 监测数据库
- `data/` - 临时数据目录
即使删除容器,数据也不会丢失。
### 健康检查
容器会自动监控应用健康状态,异常时自动重启。
## 🐛 快速故障排除
### 问题1: 容器启动失败
```bash
# 查看详细日志
docker-compose logs
# 检查 .env 文件是否存在并配置正确
cat .env
```
### 问题2: 无法访问网页
```bash
# 检查容器是否运行
docker ps
# 检查端口映射
docker port agentsstock1
# 尝试从容器内访问
docker exec agentsstock1 curl http://localhost:8501
```
### 问题3: 端口被占用
修改 `docker-compose.yml` 文件:
```yaml
ports:
- "8502:8501" # 改用8502端口
```
### 问题4: 数据库权限错误(Linux/macOS
```bash
chmod 666 *.db
chmod 777 data/
```
## 🔄 更新和维护
### 更新代码
```bash
# 停止服务
docker-compose down
# 拉取最新代码
git pull
# 重新构建并启动
docker-compose up -d --build
```
### 清理和重置
```bash
# 完全清理(包括volumes
docker-compose down -v
# 删除镜像
docker rmi agentsstock1:latest
# 重新构建
docker-compose build --no-cache
docker-compose up -d
```
### 备份数据
```bash
# 备份数据库文件
cp stock_analysis.db stock_analysis.db.backup
cp stock_monitor.db stock_monitor.db.backup
```
## 📊 性能监控
```bash
# 查看资源使用
docker stats agentsstock1
# 查看容器详情
docker inspect agentsstock1
# 查看日志大小
docker logs agentsstock1 2>&1 | wc -l
```
## 🔒 安全建议
1. **保护.env文件**
```bash
# Linux/macOS - 设置文件权限
chmod 600 .env
```
2. **不要提交敏感信息**
- `.env` 文件已在 `.gitignore` 中
- 不要将API Key提交到版本控制
3. **定期更新**
```bash
# 更新Docker镜像
docker-compose pull
docker-compose up -d
```
## 🌐 生产环境部署
对于生产环境,建议:
1. 使用反向代理(Nginx/Caddy
2. 配置HTTPS证书
3. 设置防火墙规则
4. 配置日志轮转
5. 定期备份数据库
6. 监控容器状态
示例Nginx配置:
```nginx
server {
listen 80;
server_name yourdomain.com;
location / {
proxy_pass http://localhost:8501;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $host;
}
}
```
## 📚 更多资源
- **完整部署文档**: [DOCKER_DEPLOYMENT.md](DOCKER_DEPLOYMENT.md)
- **部署检查清单**: [DOCKER_CHECKLIST.md](DOCKER_CHECKLIST.md)
- **项目主文档**: [README.md](README.md)
- **Docker官方文档**: https://docs.docker.com/
## 🆘 获取帮助
遇到问题?
1. 查看日志:`docker-compose logs -f`
2. 查看完整文档:[DOCKER_DEPLOYMENT.md](DOCKER_DEPLOYMENT.md)
3. 检查部署清单:[DOCKER_CHECKLIST.md](DOCKER_CHECKLIST.md)
4. 联系支持:ws3101001@126.com
---
**Docker让部署更简单!祝您使用愉快!** 🚀🐳