You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

3.4 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

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:

docker-start.bat

Linux/Mac:

./docker-start.sh

2. 手动启动

docker-compose up --build -d

3. 验证部署

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 应用日志

🔧 默认配置

📝 注意事项

  1. 首次启动需要下载镜像,请耐心等待
  2. MySQL 初始化脚本会自动执行(约需 30 秒)
  3. 确保 3306、6379、3000 端口未被占用
  4. 数据会持久化到 Docker Volumes

🆘 故障排查

# 查看日志
docker-compose logs -f

# 重启服务
docker-compose restart

# 完全重置(删除所有数据)
docker-compose down -v

📞 技术支持

如有问题,请参考 DOCKER_README.md 或检查日志文件。