docker 使用rocketmq
时间: 2025-05-15 14:54:02 浏览: 19
### 如何在 Docker 中使用 RocketMQ
要在 Docker 容器中部署和运行 Apache RocketMQ,可以按照以下方法操作:
#### 使用官方镜像
Apache RocketMQ 提供了官方的 Docker 镜像,可以直接通过 `docker pull` 命令获取。以下是拉取最新版本 RocketMQ 的命令[^4]:
```bash
docker pull apache/rocketmq:latest
```
#### 启动 NameServer 和 Broker
为了使 RocketMQ 正常工作,需要分别启动 NameServer 和 Broker 组件。
1. **启动 NameServer**
下面是一个用于启动 NameServer 的示例命令:
```bash
docker run -d --name rocketmq-namesrv \
-p 9876:9876 \
-e ROCKETMQ_HOME=/opt/rocketmq \
apache/rocketmq namesrv
```
2. **启动 Broker**
接下来启动 Broker 并将其连接到已启动的 NameServer 上:
```bash
docker run -d --name rocketmq-broker \
-p 10911:10911 \
-p 10909:10909 \
-e NAMESRV_ADDR=nameserver-ip:9876 \
-e BROKER_IP1=$(hostname -i) \
-v /path/to/data:/root/store \
apache/rocketmq broker
```
这里需要注意的是 `-e NAMESRV_ADDR` 参数应指向实际的 NameServer 地址。如果在同一台机器上运行,则可以用 `localhost:9876` 或者容器网络内的 IP 地址替代。
#### 测试消息发送与接收
可以通过 RocketMQ 自带工具测试消息生产与消费功能。例如,进入容器内部执行以下脚本完成简单的消息收发验证:
```bash
docker exec -it rocketmq-tools bash
sh mqadmin producer -n localhost:9876 -t TopicTest -b HelloRocketMQ
sh mqadmin consumer -n localhost:9876 -g DefaultConsumerGroup -t TopicTest
```
以上过程展示了如何基于 Docker 构建并管理 RocketMQ 实例的方法[^5]。
---
阅读全文
相关推荐


















