docker compose rocketmq
时间: 2024-12-29 12:27:07 浏览: 6
### 使用 Docker Compose 部署 RocketMQ
为了使用 Docker Compose 成功部署 RocketMQ,需准备一个 `docker-compose.yml` 文件来定义所需的服务及其配置。RocketMQ 通常至少涉及两个组件:NameServer 和 Broker。
#### 创建 `docker-compose.yml`
下面是一个简单的例子,用于启动单个 NameServer 实例和单个 Broker 实例:
```yaml
version: '3'
services:
namesrv1:
image: apache/rocketmq:latest
container_name: rmqnamesrv1
environment:
- JAVA_OPTS=-Djava.ext.dirs=/opt/apache-rocketmq/externals
command: sh mqnamesrv
ports:
- "9876:9876"
broker1:
image: apache/rocketmq:latest
container_name: rmqbroker1
depends_on:
-c /opt/apache-rocketmq/conf/broker.conf
command: sh mqbroker -n namesrv1:9876 autoCreateTopicEnable=true
ports:
- "10911:10911"
- "10909:10909"
```
此文件中定义了两个服务——`namesrv1` 和 `broker1`[^4]。其中,
- **namevrs1**: 表示 RocketMQ 的名字服务器实例;
- **broker1**: 是消息代理节点,依赖于 namevrs1 启动,并指定了连接到的名字服务器地址以及端口。
#### 执行命令启动服务
保存上述 YAML 文件后,在同一目录下执行如下命令即可按照指定的方式启动 RocketMQ:
```bash
docker-compose up -d
```
这会以后台模式启动所有的容器并保持其运行状态直到手动停止它们为止。
阅读全文