Docker环境下部署RocketMQ以及Console

InterviewCoder

# Docker 环境下部署 RocketMQ 以及 Console

# 1.docker 安装 rocketmq 镜像

1
2
3
#拉取镜像 
docker pull foxiswho/rocketmq:server-4.7.0
docker pull foxiswho/rocketmq:broker-4.7.0

# 2. 创建 server 和 broker 目录,并在目录 /opt 下创建 broker.conf

1
2
3
4
5
6
7
8
9
10
11
12
13
14
#创建目录
mkdir /opt/rocketmq-server
mkdir /opt/rocketmq-broker/conf -p
[root@localhost opt]# cat /opt/rocketmq-broker/conf/broker.conf
namesrvAddr=【你的IP地址】:9876
brokerClusterName = DefaultCluster
brokerName = broker-a
brokerId = 0
deleteWhen = 04
fileReservedTime = 48
brokerRole = ASYNC_MASTER
flushDiskType = ASYNC_FLUSH
brokerIP1 = 【你的IP地址】
listenPort=10911

# 3. 启动容器并在防火墙放行端口 9876 、10911 、11011

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
RocketMQ默认使用3个端口:9876 、10911 、11011
如果防火墙没有关闭的话,那么防火墙就必须开放这些端口:
nameserver 默认使用 9876 端口
master 默认使用 10911 端口
slave 默认使用11011 端口

#启动rocketmq-server
docker run -d \
--restart=always \
--name rmqnamesrv \
-p 9876:9876 \
-v /opt/rocketmq-server/logs:/root/logs \
-v /opt/rocketmq-server/store:/root/store \
-e "MAX_POSSIBLE_HEAP=100000000" \
foxiswho/rocketmq:4.7.0 \
sh mqnamesrv

#启动rocketmq-broker
docker run -d \
--restart=always \
--name rmqbroker \
--link rmqnamesrv:namesrv \
-p 10911:10911 \
-p 10909:10909 \
-v /opt/rocketmq-broker/logs:/root/logs \
-v /opt/rocketmq-broker/store:/root/store \
-v /opt/rocketmq-broker/conf/broker.conf:/opt/rocketmq-broker/conf/broker.conf \
-e "NAMESRV_ADDR=【你的IP地址】:9876" \
-e "MAX_POSSIBLE_HEAP=200000000" \
-e "autoCreateTopicEnable=true" \
foxiswho/rocketmq:4.7.0 \
sh mqbroker -c /opt/rocketmq-broker/conf/broker.conf


#启动RocketMQ的管理工具rocketmq-console
docker run -itd -e "JAVA_OPTS=-Drocketmq.namesrv.addr=【你的IP地址】:9876 -Dcom.rocketmq.sendMessageWithVIPChannel=false" -p 9877:8080 -t styletang/rocketmq-console-ng:latest

# 4. 测试访问 console 控制台

浏览器输入:192.168.1.200:9877

image-20230104082814121

# 关于我

Brath 是一个热爱技术的 Java 程序猿,公众号「InterviewCoder」定期分享有趣有料的精品原创文章!

InterviewCoder

非常感谢各位人才能看到这里,原创不易,文章如果有帮助可以关注、点赞、分享或评论,这都是对我的莫大支持!

评论