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