252 lines
5.1 KiB
Markdown
252 lines
5.1 KiB
Markdown
# 🐳 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让部署更简单!祝您使用愉快!** 🚀🐳
|
||
|