Docker Desktop(Windows环境)部署RocketMQ

1.拉取rocketmq镜像,拉取最新的镜像

docker pull apache/rocketmq:latest

​​​2.创建共享网络rocketmq

docker network create rocketmq

3.部署NameServer前提条件

创建目录(windows)

mkdir D:\rocketmq\nameserver\bin
mkdir D:\rocketmq\nameserver\logs
创建临时容器并复制启动脚本
docker run -d --privileged=true --name rmqnamesrv apache/rocketmq:latest sh mqnamesrv

通过Docker Desktop进入rmqnamesrv镜像中查看此镜像的目录结构,已知当前版本为5.3.1

复制启动脚本

docker cp rmqnamesrv_temp:/home/rocketmq/rocketmq-5.3.1/bin/runserver.sh D:\rocketmq\nameserver\bin\

提示成功为复制成功,失败则需要确定路径

删除容器

docker rm -f rmqnamesrv_temp

4.启动NameServer容器

docker run -d --network rocketmq --privileged=true --restart=always --name rmqnamesrv -p 9876:9876 -v D:\rocketmq\nameserver\logs:/home/rocketmq/logs -v D:\rocketmq\nameserver\bin\runserver.sh:/home/rocketmq/rocketmq-5.3.1/bin/runserver.sh apache/rocketmq:latest sh mqnamesrv

查看日志,成功启动

5.部署 Broker + Proxy

创建目录

mkdir D:\rocketmq\broker\store,D:\rocketmq\broker\logs,D:\rocketmq\broker\conf,D:\rocketmq\broker\bin

6.创建 broker.conf 配置文件

在 D:\rocketmq\broker\conf\broker.conf 文件中写入以下内容

namesrvAddr = rmqnamesrv:9876  # 使用容器名代替 IP
brokerClusterName = DefaultCluster
brokerName = broker-a
brokerId = 0
brokerIP1 = 192.168.100.100  # 改为宿主机实际 IP(或容器 IP 若需要外部访问)
brokerRole = ASYNC_MASTER
flushDiskType = ASYNC_FLUSH
deleteWhen = 04
fileReservedTime = 72
autoCreateTopicEnable = true
autoCreateSubscriptionGroup = true
tlsTestModeEnable = false

7.复制 Broker 启动脚本

docker run -d --name rmqbroker_temp apache/rocketmq:5.3.1 sh mqbroker
docker cp rmqbroker_temp:/home/rocketmq/rocketmq-5.3.1/bin/runbroker.sh D:\rocketmq\broker\bin\
docker rm -f rmqbroker_temp

8.启动 Broker 容器

docker run -d --network rocketmq --name rmqbroker --privileged=true -p 10911:10911 -p 10909:10909 -v D:\rocketmq\broker\logs:/root/logs -v D:\rocketmq\broker\store:/root/store -v D:\rocketmq\broker\conf\broker.conf:/home/rocketmq/broker.conf -v D:\rocketmq\broker\bin\runbroker.sh:/home/rocketmq/rocketmq-5.3.1/bin/runbroker.sh -e "NAMESRV_ADDR=rmqnamesrv:9876" apache/rocketmq:latest sh mqbroker --enable-proxy -c /home/rocketmq/broker.conf

查看日志,成功启动

9.部署RocketMQ控制台(rocketmq-dashboard)

拉取镜像

docker pull apacherocketmq/rocketmq-dashboard:latest

启动容器rocketmq-dashboard

docker run -d --name rmq-dashboard -p 18787:8080 --network rocketmq -e "JAVA_OPTS=-Xmx256M -Xms256M -Xmn128M -Drocketmq.namesrv.addr=rmqnamesrv:9876 -Dcom.rocketmq.sendMessageWithVIPChannel=false" apacherocketmq/rocketmq-dashboard

查看日志,启动成功

10.访问RMQ控制台

http://127.0.0.1:18787

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值