# Docker部署配置

本目录包含Stock Monitor项目的Docker部署配置文件。

## 文件说明

| 文件 | 说明 |
|------|------|
| `Dockerfile` | 主应用镜像构建文件 |
| `docker-compose.yml` | 开发环境部署配置 |
| `docker-compose.prod.yml` | 生产环境部署配置 |
| `nginx.conf` | Nginx反向代理配置 |
| `redis.conf` | Redis缓存配置 |
| `deploy.sh` | 自动化部署脚本 |
| `.dockerignore` | Docker构建忽略文件 |
| `DEPLOYMENT.md` | 详细部署指南 |

## 快速部署

### 开发环境
```bash
# 进入docker目录
cd docker

# 启动服务
docker-compose up -d
```

### 生产环境
```bash
# 进入docker目录
cd docker

# 启动生产环境服务
docker-compose -f docker-compose.prod.yml up -d
```

### 使用部署脚本
```bash
# 进入docker目录
cd docker

# 执行部署脚本（Windows请使用Git Bash或WSL）
./deploy.sh
```

## 目录结构
```
docker/
├── Dockerfile                    # 主应用镜像构建
├── docker-compose.yml           # 开发环境配置
├── docker-compose.prod.yml      # 生产环境配置
├── nginx.conf                   # Nginx配置
├── redis.conf                   # Redis配置
├── deploy.sh                    # 部署脚本
├── .dockerignore               # 构建忽略文件
├── DEPLOYMENT.md               # 详细部署指南
└── README.md                   # 本文件
```

## 注意事项

1. **环境变量配置**：部署前请确保在项目根目录配置`.env`文件
2. **数据持久化**：日志和数据文件会保存在项目根目录的`logs/`和`data/`目录
3. **端口冲突**：请确保8000、6379、5432端口未被占用
4. **权限问题**：Linux/macOS系统需要给部署脚本执行权限

## 服务说明

### 基础服务
- **stock-monitor**: 主应用服务（端口8000）
- **redis**: 缓存服务（端口6379）
- **postgres**: 数据库服务（端口5432）

### 生产环境附加服务
- **nginx**: 反向代理服务（端口80/443）

## 维护命令

```bash
# 查看服务状态
docker-compose ps

# 查看日志
docker-compose logs -f [服务名]

# 停止服务
docker-compose down

# 重启服务
docker-compose restart

# 更新镜像
docker-compose pull && docker-compose up -d
```

详细部署指南请参考 [DEPLOYMENT.md](DEPLOYMENT.md)