|
|
# Docker 部署文件清单
|
|
|
|
|
|
## 📁 文件列表
|
|
|
|
|
|
| 文件 | 说明 | 大小 |
|
|
|
|------|------|------|
|
|
|
| `docker-compose.yml` | Docker 编排配置 | ~3KB |
|
|
|
| `Dockerfile` | 后端应用镜像构建 | ~1.5KB |
|
|
|
| `.env.docker` | Docker 环境变量 | ~600B |
|
|
|
| `.dockerignore` | Docker 忽略文件 | ~600B |
|
|
|
| `docker-start.sh` | Linux/Mac 启动脚本 | ~2.5KB |
|
|
|
| `docker-start.bat` | Windows 启动脚本 | ~1.8KB |
|
|
|
| `DOCKER_README.md` | 部署文档 | ~6KB |
|
|
|
| `verify-docker.js` | 部署验证脚本 | ~7KB |
|
|
|
|
|
|
## 📂 目录结构
|
|
|
|
|
|
```
|
|
|
app/backend/
|
|
|
├── docker-compose.yml # Docker 编排配置
|
|
|
├── Dockerfile # 后端应用镜像
|
|
|
├── .env.docker # Docker 环境变量
|
|
|
├── .dockerignore # Docker 忽略文件
|
|
|
├── docker-start.sh # Linux/Mac 启动脚本 ⭐
|
|
|
├── docker-start.bat # Windows 启动脚本 ⭐
|
|
|
├── DOCKER_README.md # 完整部署文档
|
|
|
├── DOCKER_FILES.md # 本文档
|
|
|
├── verify-docker.js # 部署验证脚本
|
|
|
├── init-scripts/ # 数据库初始化脚本
|
|
|
│ ├── 01-init-database.sql # 创建表结构(含分区)⭐
|
|
|
│ ├── 02-seed-data.sql # 种子数据 ⭐
|
|
|
│ └── 03-partition-maintenance.sql # 分区维护工具
|
|
|
├── src/ # 后端源代码
|
|
|
├── prisma/ # Prisma 配置
|
|
|
└── ...
|
|
|
```
|
|
|
|
|
|
## 🚀 快速使用
|
|
|
|
|
|
### 1. 一键启动
|
|
|
|
|
|
**Windows:**
|
|
|
```bash
|
|
|
docker-start.bat
|
|
|
```
|
|
|
|
|
|
**Linux/Mac:**
|
|
|
```bash
|
|
|
./docker-start.sh
|
|
|
```
|
|
|
|
|
|
### 2. 手动启动
|
|
|
|
|
|
```bash
|
|
|
docker-compose up --build -d
|
|
|
```
|
|
|
|
|
|
### 3. 验证部署
|
|
|
|
|
|
```bash
|
|
|
node verify-docker.js
|
|
|
```
|
|
|
|
|
|
## 📊 包含的服务
|
|
|
|
|
|
| 服务 | 镜像 | 端口 | 说明 |
|
|
|
|------|------|------|------|
|
|
|
| MySQL | mysql:8.0 | 3306 | 主数据库(含分区表) |
|
|
|
| Redis | redis:7-alpine | 6379 | 缓存服务 |
|
|
|
| App | 本地构建 | 3000 | 后端 API 服务 |
|
|
|
| AKShare | 阿里云镜像 | 8000 | 数据源(可选) |
|
|
|
|
|
|
## 🗄️ 数据库分区详情
|
|
|
|
|
|
### 分区表(4张)
|
|
|
|
|
|
| 表名 | 分区数 | 分区范围 |
|
|
|
|------|-------|---------|
|
|
|
| `stock_quotes_history` | 37 | 2024-01 ~ 2026-12 + future |
|
|
|
| `sector_quotes` | 37 | 2024-01 ~ 2026-12 + future |
|
|
|
| `high_low_stocks` | 37 | 2024-01 ~ 2026-12 + future |
|
|
|
| `momentum_stocks` | 37 | 2024-01 ~ 2026-12 + future |
|
|
|
|
|
|
### 普通表(8张)
|
|
|
|
|
|
- `market_indices` - 市场指数
|
|
|
- `sectors` - 版块信息
|
|
|
- `stocks` - 股票信息
|
|
|
- `stock_quotes_hot` - 热数据
|
|
|
- `stock_klines` - 股票K线
|
|
|
- `sector_klines` - 版块K线
|
|
|
- `users` - 用户表
|
|
|
- `user_favorites` - 自选股
|
|
|
|
|
|
## 📈 数据卷
|
|
|
|
|
|
| 卷名 | 用途 |
|
|
|
|------|------|
|
|
|
| `mysql_data` | MySQL 持久化数据 |
|
|
|
| `redis_data` | Redis 持久化数据 |
|
|
|
| `./logs` | 应用日志 |
|
|
|
|
|
|
## 🔧 默认配置
|
|
|
|
|
|
- **MySQL**: root / 1qazse42W3
|
|
|
- **API**: http://localhost:3000
|
|
|
- **数据库**: aguzhitou
|
|
|
- **字符集**: utf8mb4
|
|
|
|
|
|
## 📝 注意事项
|
|
|
|
|
|
1. 首次启动需要下载镜像,请耐心等待
|
|
|
2. MySQL 初始化脚本会自动执行(约需 30 秒)
|
|
|
3. 确保 3306、6379、3000 端口未被占用
|
|
|
4. 数据会持久化到 Docker Volumes
|
|
|
|
|
|
## 🆘 故障排查
|
|
|
|
|
|
```bash
|
|
|
# 查看日志
|
|
|
docker-compose logs -f
|
|
|
|
|
|
# 重启服务
|
|
|
docker-compose restart
|
|
|
|
|
|
# 完全重置(删除所有数据)
|
|
|
docker-compose down -v
|
|
|
```
|
|
|
|
|
|
## 📞 技术支持
|
|
|
|
|
|
如有问题,请参考 `DOCKER_README.md` 或检查日志文件。
|