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.
142 lines
2.6 KiB
142 lines
2.6 KiB
# Docker 部署指南
|
|
|
|
## 快速开始
|
|
|
|
### 方式一:一键启动全部服务(推荐)
|
|
|
|
**Windows:**
|
|
```bash
|
|
start-docker.bat
|
|
```
|
|
|
|
**Linux/Mac:**
|
|
```bash
|
|
chmod +x start-docker.sh
|
|
./start-docker.sh
|
|
```
|
|
|
|
启动后会自动:
|
|
1. 构建 Docker 镜像
|
|
2. 启动 PostgreSQL 数据库
|
|
3. 启动 Redis
|
|
4. 启动行情数据服务
|
|
5. 自动创建数据库表
|
|
|
|
### 方式二:只启动数据库(本地开发)
|
|
|
|
如果你只想用 Docker 启动数据库,然后在本地运行 Python 服务:
|
|
|
|
```bash
|
|
start-db-only.bat
|
|
```
|
|
|
|
然后在本地启动服务:
|
|
```bash
|
|
python -m app.main
|
|
```
|
|
|
|
## 访问服务
|
|
|
|
启动成功后,可以通过以下地址访问:
|
|
|
|
| 服务 | 地址 |
|
|
|------|------|
|
|
| 行情数据服务 | http://localhost:8080 |
|
|
| 管理后台 | http://localhost:8080/admin |
|
|
| API 文档 (Swagger) | http://localhost:8080/docs |
|
|
| API 文档 (ReDoc) | http://localhost:8080/redoc |
|
|
|
|
## 数据库连接
|
|
|
|
```
|
|
主机: localhost
|
|
端口: 5432
|
|
数据库: marketdata
|
|
用户名: postgres
|
|
密码: postgres123
|
|
```
|
|
|
|
连接字符串:
|
|
```
|
|
postgresql://postgres:postgres123@localhost:5432/marketdata
|
|
```
|
|
|
|
## 常用命令
|
|
|
|
```bash
|
|
# 查看日志
|
|
docker compose logs -f
|
|
|
|
# 停止服务
|
|
docker compose down
|
|
|
|
# 停止并删除数据卷(清空数据)
|
|
docker compose down -v
|
|
|
|
# 重启服务
|
|
docker compose restart
|
|
|
|
# 进入数据库容器
|
|
docker exec -it market_data_postgres psql -U postgres -d marketdata
|
|
```
|
|
|
|
## 数据结构
|
|
|
|
启动时会自动创建以下表:
|
|
|
|
### 股票相关表
|
|
- `stock_symbols` - 股票标的表
|
|
- `stock_trading_calendar` - 股票交易日历
|
|
- `stock_klines_1m` - 股票1分钟K线
|
|
- `stock_klines_5m` - 股票5分钟K线
|
|
- `stock_klines_1d` - 股票日线K线
|
|
|
|
### 期货相关表
|
|
- `futures_symbols` - 期货合约表
|
|
- `futures_trading_calendar` - 期货交易日历
|
|
- `futures_klines_1m` - 期货1分钟K线
|
|
- `futures_klines_1d` - 期货日线K线
|
|
|
|
### 公共表
|
|
- `data_source_config` - 数据源配置
|
|
- `data_quality_checks` - 数据质量检查
|
|
|
|
## 故障排查
|
|
|
|
### 端口冲突
|
|
|
|
如果 5432 或 8080 端口被占用,修改 `docker-compose.yml` 中的端口映射:
|
|
|
|
```yaml
|
|
ports:
|
|
- "5433:5432" # 使用 5433 代替 5432
|
|
```
|
|
|
|
### 数据库连接失败
|
|
|
|
1. 检查容器是否运行:
|
|
```bash
|
|
docker ps
|
|
```
|
|
|
|
2. 查看数据库日志:
|
|
```bash
|
|
docker logs market_data_postgres
|
|
```
|
|
|
|
3. 检查数据库是否就绪:
|
|
```bash
|
|
docker exec -it market_data_postgres pg_isready -U postgres
|
|
```
|
|
|
|
### 数据持久化
|
|
|
|
数据默认存储在 Docker 卷中:
|
|
- `postgres_data` - PostgreSQL 数据
|
|
- `redis_data` - Redis 数据
|
|
|
|
即使删除容器,数据也不会丢失。要清空数据:
|
|
```bash
|
|
docker compose down -v
|
|
```
|