1、创建broker.conf文件
vim broker.conf
brokerClusterName = DefaultCluster
brokerName = broker-a
brokerId = 0
deleteWhen = 04
fileReservedTime = 48
brokerRole = ASYNC_MASTER
flushDiskType = ASYNC_FLUSH
# 宿主机ip
brokerIP1 = 10.10.10.10
autoCreateTopicEnable = true
# 配置重试间隔(单位:毫秒/秒,支持 s/m/h/d 后缀)
# 格式:messageDelayLevel = 第1次间隔, 第2次间隔, ..., 第n次间隔
# 默认值:1s 5s 10s 30s 1m 2m 3m 4m 5m 6m 7m 8m 9m 10m 20m 30m 1h 2h(共18个等级,对应最多16次重试)
messageDelayLevel = 1s 5s 10s 30s 1m 2m 3m 4m 5m
# 配置全局最大重试次数(默认16次,若小于默认次数,以该值为准)
# 注意:此参数在 RocketMQ 4.7+ 版本生效,低版本需通过 messageDelayLevel 长度控制
maxReconsumeTimes = 5
2、创建docker-compose文件
vim docker-compose.yml文件
version: '3.8'
services:
namesrv:
image: apache/rocketmq:5.3.3
container_name: rmqnamesrv
ports:
- "9876:9876"
networks:
- rocketmq
command: sh mqnamesrv
restart: unless-stopped
broker:
image: apache/rocketmq:5.3.3
container_name: rmqbroker
ports:
- "10912:10912"
- "10911:10911"
- "10909:10909"
networks:
- rocketmq
environment:
- NAMESRV_ADDR=rmqnamesrv:9876
volumes:
- ./broker.conf:/home/rocketmq/rocketmq-5.3.3/conf/broker.conf
command: sh mqbroker -c /home/rocketmq/rocketmq-5.3.3/conf/broker.conf
depends_on:
- namesrv
restart: unless-stopped
console:
image: styletang/rocketmq-console-ng:latest
container_name: rocketmq-console-ng
ports:
- "18080:8080"
networks:
- rocketmq
environment:
- JAVA_OPTS=-Drocketmq.namesrv.addr=rmqnamesrv:9876 -Dcom.rocketmq.sendMessageWithVIPChannel=false
depends_on:
- namesrv
- broker
restart: unless-stopped
networks:
rocketmq:
driver: bridge
3、自行下载镜像
推荐地址:https://docker.aityp.com/
4、启动
docker compose up -d
5、自行放开主机端口
9876、18080、10912、10911、10909
注意:本文归作者所有,未经作者允许,不得转载