147 lines
3.4 KiB
Markdown
147 lines
3.4 KiB
Markdown
|
|
# 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. 日志信息中的错误提示
|