RocketMQ 源码地址:https://github.com/apache/rocketmq(opens new window)
RocketMQ 官方网站:https://rocketmq.apache.org
1、创建挂载目录【我这里使用的是XFTP】
2、拉取RocketMQ镜像
-
拉取镜像
docker pull rocketmqinc/rocketmq
查看镜像拉取状态
-
创建NameServer容器
docker run -d \ --name rmqnamesrv \ -p 9876:9876 \ -v /Docker_mount_conf/RocketMQ/NameServer/conf:/root/config \ -v /Docker_mount_conf/RocketMQ/NameServer/logs:/root/logs \ -e "JAVA_OPTS=-Duser.home=/opt" \ --restart unless-stopped \ rocketmqinc/rocketmq \ sh mqnamesrv
如果为避免上述挂载过程中出现conf配置失败导致无法发送消息的问题,可以在容器中配置brokerIP1,配置过程如下,等broker运行了需要进到broker修改。
docker exec -it nameserver容器id /bin/bash
vi ../conf/broker.conf
#设置broker节点所在服务器的ip地址--宿主机IP
brokerIP1 = xxx.xxx.x.x
3、运行Broker容器
-
运行Broker
docker run -d \
--name rmqbroker \
--link rmqnamesrv:namesrv \
-p 10911:10911 \
-p 10909:10909 \
-v /Docker_mount_conf/RocketMQ/Broker/logs:/root/logs \
-v /Docker_mount_conf/RocketMQ/Broker/store:/root/store \
-v /Docker_mount_conf/RocketMQ/Broker/storebroker.conf:/docker/rocketmq/conf/broker.conf \
-e "NAMESRV_ADDR=服务器ip地址:9876" \
-e "MAX_POSSIBLE_HEAP=200000000" \
-e "JAVA_OPT_EXT=-Drocketmq.broker.ip=服务器ip地址" \
--restart unless-stopped \
rocketmqinc/rocketmq \
sh mqbroker -c /docker/rocketmq/conf/broker.conf
-
查看运行状态
3、拉取RocketMQ-console镜像
-
拉取镜像
docker pull pangliang/rocketmq-console-ng
-
启动容器
docker run -d \
--name rmqadmin \
-e "JAVA_OPTS=-Drocketmq.namesrv.addr=你服务器IP地址:9876 \
-Dcom.rocketmq.sendMessageWithVIPChannel=false" \
--restart unless-stopped \
-p 7777:8080 \
pangliang/rocketmq-console-ng
4、进入RokcetMQ控制台
通过 http://服务器IP地址:7777