#rocketmq集群
version: '3.3'services:rocketmq-namesrv-1:image: rocketmqinc/rocketmq-namesrv:4.5.0-alpine-uidcontainer_name: rocketmq-namesrv-1ports:- 9876:9876volumes:- /home/docker/rocketmq/logs/nameserver1:/home/rocketmq/logs/rocketmqlogscommand: sh mqnamesrvnetworks:- rocketmqrocketmq-namesrv-2:image: rocketmqinc/rocketmq-namesrv:4.5.0-alpine-uidcontainer_name: rocketmq-namesrv-2ports:- 9877:9876volumes:- /home/docker/rocketmq/logs/nameserver2:/home/rocketmq/logs/rocketmqlogscommand: sh mqnamesrvnetworks:- rocketmqrocketmq-broker-1:image: rocketmqinc/rocketmq-broker:4.5.0-alpine-uidcontainer_name: rocketmq-broker-1ports:- 10911:10911volumes:- /home/docker/rocketmq/logs/broker1:/home/rocketmq/logs/rocketmqlogs- /home/docker/rocketmq/conf/broker1/broker.conf:/home/rocketmq/rocketmq-4.5.0/conf/broker.confenvironment:TZ: Asia/ShanghaiNAMESRV_ADDR: "rocketmq-namesrv-1:9876;rocketmq-namesrv-2:9876"JAVA_OPTS: "-Duser.home=/opt"JAVA_OPT_EXT: "-server -Xms256m -Xmx256m -Xmn256m"command: sh mqbroker -c /home/rocketmq/rocketmq-4.5.0/conf/broker.conf autoCreateTopicEnable=true &depends_on:- rocketmq-namesrv-1- rocketmq-namesrv-2networks:- rocketmqrocketmq-broker-2:image: rocketmqinc/rocketmq-broker:4.5.0-alpine-uidcontainer_name: rocketmq-broker-2ports:- 10912:10911volumes:- /home/docker/rocketmq/logs/broker2:/home/rocketmq/logs/rocketmqlogs- /home/docker/rocketmq/conf/broker2/broker.conf:/home/rocketmq/rocketmq-4.5.0/conf/broker.confenvironment:TZ: Asia/ShanghaiNAMESRV_ADDR: "rocketmq-namesrv-1:9876;rocketmq-namesrv-2:9876"JAVA_OPTS: " -Duser.home=/opt"JAVA_OPT_EXT: "-server -Xms256m -Xmx256m -Xmn256m"command: sh mqbroker -c /home/rocketmq/rocketmq-4.5.0/conf/broker.conf autoCreateTopicEnable=true &depends_on:- rocketmq-namesrv-1- rocketmq-namesrv-2networks:- rocketmqrocketmq-broker-3:image: rocketmqinc/rocketmq-broker:4.5.0-alpine-uidcontainer_name: rocketmq-broker-3ports:- 10913:10911volumes:- /home/docker/rocketmq/logs/broker3:/home/rocketmq/logs/rocketmqlogs- /home/docker/rocketmq/conf/broker3/broker.conf:/home/rocketmq/rocketmq-4.5.0/conf/broker.confenvironment:TZ: Asia/ShanghaiNAMESRV_ADDR: "rocketmq-namesrv-1:9876;rocketmq-namesrv-2:9876"JAVA_OPTS: " -Duser.home=/opt"JAVA_OPT_EXT: "-server -Xms256m -Xmx256m -Xmn256m"command: sh mqbroker -c /home/rocketmq/rocketmq-4.5.0/conf/broker.conf autoCreateTopicEnable=true &depends_on:- rocketmq-namesrv-1- rocketmq-namesrv-2networks:- rocketmqrocketmq-console:image: styletang/rocketmq-console-ngcontainer_name: rocketmq-consoleports:- 9091:8080environment:JAVA_OPTS: -Drocketmq.namesrv.addr=rocketmq-namesrv-1:9876;rocketmq-namesrv-2:9876 -Dcom.rocketmq.sendMessageWithVIPChannel=falsenetworks:- rocketmqdepends_on:- rocketmq-broker-1- rocketmq-broker-2- rocketmq-broker-3networks:rocketmq:driver: bridge

创建broker服务器配置文件broker.conf
本次我们搭建三台broker服务器,分别在宿主机卷映射目录下创建我们的配置文件
(1)创建配置文件目录,以broker1为例:
命令:mkdir -p /home/docker/rocketmq/conf/broker1
2)使用vi编辑器创建broker配置文件broker.conf,只需更改服务器名称即可
brokerClusterName = DefaultCluster
#broker名称
brokerName = rocketmq-broker-1
brokerId = 0
deleteWhen = 04
fileReservedTime = 48
brokerRole = ASYNC_MASTER
flushDiskType = ASYNC_FLUSH
启动集群并验证
命令:docker-compose -p rocketmq up -d
验证集群
访问控制台:http//ip:9091
结语
在Docker环境下一键安装RocketMQ集群及web管理工具内容到这里