147 lines
3.4 KiB
Markdown
Raw Permalink Normal View History

# Docker Compose 部署说明
## 概述
这是一个基于Docker Compose的微服务部署方案包含以下服务
- Pulsar 消息队列集群
- IoTDB 时序数据库
- Redis 缓存服务
- MySQL 关系数据库
- Admin API 管理接口
- Admin Web 管理界面
## 快速开始
### 1. 配置环境变量
复制 `env.example``.env` 并修改配置:
```bash
cp env.example .env
# 编辑 .env 文件修改服务器IP地址等配置
```
### 2. 启动服务
```bash
# 给启动脚本添加执行权限
chmod +x start-pulsar.sh
# 启动所有服务
./start-pulsar.sh
```
### 3. 查看服务状态
```bash
docker-compose -f docker-compose.yml ps
```
## 配置说明
### 环境变量配置 (.env)
| 变量名 | 说明 | 默认值 |
|--------|------|--------|
| `SERVER_IP` | 服务器公网IP地址 | 47.110.53.196 |
| `PULSAR_BROKER_PORT` | Pulsar Broker端口 | 9093 |
| `PULSAR_ADMIN_PORT` | Pulsar Admin端口 | 9094 |
| `IOTDB_PORT` | IoTDB端口 | 30710 |
| `REDIS_PORT` | Redis端口 | 30712 |
| `MYSQL_PORT` | MySQL端口 | 13306 |
| `ADMIN_API_PORT` | Admin API端口 | 28080 |
| `ADMIN_WEB_PORT` | Admin Web端口 | 30711 |
| `PULSAR_ADMIN_USER` | Pulsar管理员用户名 | admin |
| `PULSAR_ADMIN_PASSWORD` | Pulsar管理员密码 | 0fd7afb8b0d04e6abc4fdfdac2190a79 |
| `IOTDB_ROOT_PASSWORD` | IoTDB root用户密码 | Lixiao@1980 |
| `MYSQL_ROOT_PASSWORD` | MySQL root用户密码 | JiShe!aqG#5kGgh&0 |
### 端口映射
| 服务 | 容器端口 | 宿主机端口 | 说明 |
|------|----------|------------|------|
| Zookeeper | 2181 | 2181 | Pulsar集群协调服务 |
| Pulsar Broker | 9093 | 9093 | Pulsar消息服务 |
| Pulsar Admin | 9094 | 9094 | Pulsar管理接口 |
| IoTDB | 6667 | 30710 | 时序数据库 |
| Redis | 6379 | 30712 | 缓存服务 |
| MySQL | 3306 | 13306 | 关系数据库 |
| Admin API | 10500 | 28080 | 管理接口 |
| Admin Web | 8080 | 30711 | 管理界面 |
## 部署到新服务器
### 1. 修改配置文件
编辑 `.env` 文件,修改以下关键配置:
```bash
# 修改为你的服务器IP地址
SERVER_IP=你的服务器IP地址
# 根据需要修改端口(避免端口冲突)
PULSAR_BROKER_PORT=9093
PULSAR_ADMIN_PORT=9094
# ... 其他端口配置
```
### 2. 启动服务
```bash
./start-pulsar.sh
```
### 3. 验证部署
脚本会自动显示连接信息,包括:
- 各服务的访问地址
- 用户名和密码
- 测试连接命令
## 常用命令
```bash
# 查看服务状态
docker-compose -f docker-compose.yml ps
# 查看服务日志
docker-compose -f docker-compose.yml logs -f [服务名]
# 停止所有服务
docker-compose -f docker-compose.yml down
# 重启特定服务
docker-compose -f docker-compose.yml restart [服务名]
# 查看服务资源使用情况
docker stats
```
## 故障排除
### 1. 端口冲突
如果遇到端口冲突,修改 `config.env` 中的端口配置,然后重启服务。
### 2. 权限问题
确保脚本有执行权限:
```bash
chmod +x start-pulsar.sh
```
### 3. 磁盘空间
确保有足够的磁盘空间用于数据存储:
```bash
df -h
```
### 4. 服务启动顺序
服务启动顺序由 `depends_on` 配置控制,如果某个服务启动失败,检查依赖服务是否正常。
## 安全建议
1. 修改默认密码
2. 限制网络访问
3. 定期更新镜像
4. 监控服务状态
5. 备份重要数据
## 支持
如有问题,请检查:
1. Docker和Docker Compose版本
2. 系统资源是否充足
3. 网络配置是否正确
4. 日志信息中的错误提示