docker安装使用rocketmq[最简版]

本文介绍了如何使用Docker部署RocketMQ,包括拉取最新版本、创建网络、启动nameserver和broker,以及详细配置和端口说明。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

犯了很多错,然后总结出来的东西,很简单哈
1.下拉最新的版本

docker pull rocketmqinc/rocketmq

2.创建网路

docker network create rocketmq-network

3.启动name server

docker run -d --name rmqnamesrv --net rocketmq-network -p 9876:9876 rocketmqinc/rocketmq:latest sh mqnamesrv

4.启动broker

docker run -d --name rmqbroker --net rocketmq-network -p 10909:10909 -p 10911:10911 -e "NAMESRV_ADDR=rmqnamesrv:9876" rocketmqinc/rocketmq:latest sh mqbroker -n rmqnamesrv:9876

yml配置文件

rocketmq:
  # rocketMQ的命名服务器,格式为: host:port;host:port
  name-server: localhost:9876
  producer:
    # 生产者的组名
    group: my-group1
    # 发送消息超时时间 默认3秒
    send-message-timeout: 3000
  consumers:
    - group: my-group1
    - topics: topic1, topic2

无需打通9876端口,除非跨服务器访问

### 在 Docker Desktop 上安装配置 RocketMQ 5 #### 准备工作 为了确保顺利安装 RocketMQ,在开始之前需确认已正确安装并启动了 Docker Desktop。 #### 获取 RocketMQ 本 5 的镜像 由于官方仓库可能不会总是提供新的稳定本作为 `latest` tag,因此建议明确指定所需的具体本号来拉取镜像。对于 RocketMQ 5.x 本: ```bash docker pull apacherocketmq/rocketmq:5.0.0-incubating ``` 这一步骤会下载 Apache RocketMQ 社区提供的官方镜像[^2]。 #### 创建必要的持久化存储目录 为保障消息队列服务的数据安全性稳定性,推荐预先创建用于保存 Broker 数据的日志及存储路径,并设置合适的权限给容器使用: ```bash mkdir -p /docker/rocketmq/data/broker/logs /docker/rocketmq/data/broker/store /docker/rocketmq/conf chmod -R 777 /docker/rocketmq/ ``` 此操作可以防止因主机文件系统权限问题而导致的服务异常终止或性能下降情况发生[^4]。 #### 启动 NameServer Broker 实例 通过定义环境变量以及挂载本地配置文件的方式启动两个主要组件——Name Server Message Broker: 启动 NameServer: ```bash docker run -d --name rmqnamesrv \ -e "JAVA_OPTS=-server -Xms1g -Xmx1g" \ -v /docker/rocketmq/conf:/home/rocketmqstore/config \ apacherocketmq/rocketmq:5.0.0-incubating namesrv ``` 启动 Broker (假设已经有一个正在运行的名字服务器实例): ```bash docker run -d --name rmbroker \ -e "JAVA_OPTS=-server -Xms1g -Xmx1g" \ -e "NAMESRV_ADDR=rmqnamesrv:9876" \ -v /docker/rocketmq/data/broker/logs:/home/rocketmqlogs \ -v /docker/rocketmq/data/broker/store:/home/rocketmqstore \ -v /docker/rocketmq/conf:/home/rocketmqstore/config \ apacherocketmq/rocketmq:5.0.0-incubating broker -n rmqnamesrv:9876 ``` 这里 `-e NAMESRV_ADDR=...` 参数指定了名称服务器地址;而其他卷映射则用来保持数据的一致性与可恢复能力[^3]。 #### 测试 RocketMQ 功能正常与否 可以通过发送一条单的测试消息验证整个集群是否搭建成功。如果一切正常,则说明 RocketMQ 已经可以在 Docker 中正常使用
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值