# 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` 或检查日志文件。