一、创建目录,并配置文件内容 broker.conf
brokerClusterName = DefaultCluster
brokerName = broker-a
brokerId = 0
deleteWhen = 04
fileReservedTime = 48
brokerRole = ASYNC_MASTER
flushDiskType = ASYNC_FLUSH
#此处需要修改ip地址
brokerIP1 = 172.27.196.240
diskMaxUsedSpaceRatio=95
二、docker-compose.yml
version: '3.8'
services:
namesrv:
image: apache/rocketmq
container_name: rmqnamesrv
restart: always
volumes:
- /usr/local/rocketmq/data/namesrv/logs:/root/logs
- /usr/local/rocketmq/data/namesrv/store:/root/store
ports:
- "9876:9876"
command: sh mqnamesrv
environment:
MAX_POSSIBLE_HEAP: 100000000
JAVA_OPT_EXT: -Xms512M -Xmx512M -Xmn128m
networks:
- rocketmq-net
broker:
image: apache/rocketmq
container_name: rmqbroker
restart: always
volumes:
- /usr/local/rocketmq/data/broker/logs:/root/logs
- /usr/local/rocketmq/data/broker/store:/root/store
- /usr/local/rocketmq/conf/broker.conf:/home/rocketmq/rocketmq-4.9.4/conf/broker.conf
ports:
- "10911:10911"
- "10912:10912"
- "10909:10909"
environment:
NAMESRV_ADDR: namesrv:9876
MAX_POSSIBLE_HEAP: 200000000
JAVA_OPT_EXT: -Xms512M -Xmx512M -Xmn128m
command: sh mqbroker -c /home/rocketmq/rocketmq-4.9.4/conf/broker.conf
networks:
- rocketmq-net
console:
image: styletang/rocketmq-console-ng
container_name: rmqadmin
restart: always
ports:
- "8081:8080"
environment:
JAVA_OPTS: >
-Drocketmq.namesrv.addr=172.27.196.240:9876
-Dcom.rocketmq.sendMessageWithVIPChannel=false
ulimits:
nofile:
soft: 1024
hard: 1024
networks:
- rocketmq-net
networks:
rocketmq-net:
driver: bridge
三、启动,cd到yml文件当前目录
docker compose create namesrv broker console;
docker start rmqnamesrv rmqbroker rmqadmin;