Docker部署系列:RocketMQ单机版

本文详细介绍了如何使用Docker部署RocketMQ消息中间件,包括下载镜像、启动名称服务器、Broker及配置监控界面等步骤,并提供了测试访问地址。

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

# 下载镜像
docker pull rocketmqinc/rocketmq

# 启动rocketmq mqnamesrv
docker run -d -p 9876:9876 -v /root/rocketmq/data/namesrv/logs:/root/logs -v /root/rocketmq/data/namesrv/store:/root/store --name rmqnamesrv -e "MAX_POSSIBLE_HEAP=100000000" rocketmqinc/rocketmq sh mqnamesrv

# 启动rocketmq broker
mkdir /root/rocketmq/conf
cd /root/rocketmq/conf
vi broker.conf

brokerClusterName = DefaultCluster
brokerName = broker-a
brokerId = 0
deleteWhen = 04
fileReservedTime = 48
brokerRole = ASYNC_MASTER
flushDiskType = ASYNC_FLUSH
brokerIP1 = 192.168.5.11

docker run -d -p 10911:10911 -p 10909:10909 -v  /root/rocketmq/data/broker/logs:/root/logs -v  /root/rocketmq/data/broker/store:/root/store -v  /root/rocketmq/conf/broker.conf:/opt/rocketmq/conf/broker.conf --name rmqbroker -e "NAMESRV_ADDR=192.168.5.11:9876" -e "MAX_POSSIBLE_HEAP=200000000" rocketmqinc/rocketmq sh mqbroker -c /opt/rocketmq/conf/broker.conf

# 启动rmq console界面
docker pull styletang/rocketmq-console-ng

docker run -d --name rmqconsole -p 9800:8080 -e "JAVA_OPTS=-Drocketmq.namesrv.addr=192.168.5.11:9876 -Dcom.rocketmq.sendMessageWithVIPChannel=false" -t styletang/rocketmq-console-ng

# 测试访问
http://192.168.5.11:9800/#/

### 单机环境下通过Docker部署RocketMQ #### 1. 准备工作 在开始之前,确保已经安装并配置好Docker环境。可以通过以下命令验证Docker是否正常运行: ```bash docker --version ``` 如果未安装Docker,则需先完成安装。 #### 2. 拉取必要的镜像 为了实现单机版RocketMQ部署,需要拉取`namesrv`和`broker`的相关镜像。可以使用如下命令来获取官方推荐的镜像: ```bash docker pull foxiswho/rocketmq:server-4.7.0 # NameServer镜像 docker pull foxiswho/rocketmq:broker-4.7.0 # Broker镜像 ``` 此外,还需要一个用于监控管理的Web界面工具——RocketMQ Console。其对应的Docker镜像是`styletang/rocketmq-console-ng`: ```bash docker pull styletang/rocketmq-console-ng # RocketMQ Console镜像 ``` #### 3. 启动NameServer服务 创建并启动NameServer容器,这是整个消息队列的核心组件之一: ```bash docker run -d \ --name rocketmq-namesrv \ -p 9876:9876 \ foxiswho/rocketmq:server-4.7.0 ``` 上述命令会将容器内的端口`9876`映射到主机相同端口,并以后台模式运行该容器[^1]。 #### 4. 配置并启动Broker服务 接下来设置Broker服务并与已有的NameServer关联起来。首先定义一个简单的配置文件(可选),或者直接指定默认参数启动Broker实例: ```bash docker run -d \ --name rocketmq-broker \ -e NAMESRV_ADDR="localhost:9876" \ -p 10911:10911 \ -p 10909:10909 \ -v /your/local/path:/opt/data/logs \ foxiswho/rocketmq:broker-4.7.0 ``` 这里的关键在于设置了环境变量`NAMESRV_ADDR`指向本地正在运行的NameServer地址。 #### 5. 初始化Topic 一旦Broker成功上线后,就可以利用客户端API或其他方式创建所需的Topics。通常情况下,这一步可通过编写脚本或手动操作完成。 #### 6. 运行RocketMQ Console 最后一步是加载图形化管理平台以便于日常运维活动。执行下面语句即可快速搭建起Console应用: ```bash docker run -d \ --name rocketmq-console \ -e ROCKETMQ_NAMESRV_ADDR="localhost:9876" \ -p 8080:8080 \ styletang/rocketmq-console-ng ``` 访问浏览器中的`http://<host-ip>:8080`应该可以看到完整的Dashboard页面[^3]。 #### 7. 测试连接与功能验证 按照前述步骤完成后,建议尝试发送几条测试消息至目标Queue中去检验整体架构是否稳定可靠。具体做法参见相关文档说明[^4]。 --- ### 注意事项 - 如果遇到网络不通等问题,请确认防火墙规则以及SELinux策略是否允许相应流量穿越。 - 对于生产环境而言,务必考虑高可用性和持久化的存储方案设计。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值