1 查询镜像

docker search rocketmq

img

2 下载官方镜像

1
docker pull apache/rocketmq

3 创建卷文件

1
2
3
4
5
6
mkdir -m 777 -p /opt/module/docker/rocketmq/nameserver/logs
mkdir -m 777 -p /opt/module/docker/rocketmq/nameserver/store
mkdir -m 777 -p /opt/module/docker/rocketmq/broker/logs
mkdir -m 777 -p /opt/module/docker/rocketmq/broker/data
mkdir -m 777 -p /opt/module/docker/rocketmq/broker/store
mkdir -m 777 -p /opt/module/docker/rocketmq/broker/conf

4 启动 namesrv 容器

1
2
3
4
5
6
7
8
9
10
11
docker run -d \
--privileged=true \
--restart=always \
--name rmqnamesrv \
-p 9876:9876 \
-v /opt/module/docker/rocketmq/nameserver/logs:/home/rocketmq/logs \
-v /opt/module/docker/rocketmq/nameserver/store:/home/rocketmq/store \
-e "MAX_HEAP_SIZE=256M" \
-e "HEAP_NEWSIZE=128M" \
-e "MAX_POSSIBLE_HEAP=100000000" \
apache/rocketmq sh mqnamesrv

5 创建 broker.conf

1
2

vi /opt/module/docker/rocketmq/broker/conf/broker.conf

6 编辑broker.conf

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# 集群名称
brokerClusterName=DefaultCluster
# 节点名称
brokerName=broker-a
# broker id节点ID, 0 表示 master, 其他的正整数表示 slave,不能小于0
brokerId=0
# Broker服务地址 String 内部使用填内网ip,如果是需要给外部使用填公网ip
brokerIP1=127.0.0.1
# Broker角色
brokerRole=ASYNC_MASTER
# 刷盘方式
flushDiskType=ASYNC_FLUSH
# 在每天的什么时间删除已经超过文件保留时间的 commit log,默认值04
deleteWhen=04
# 以小时计算的文件保留时间 默认值72小时
fileReservedTime=72
# 是否允许Broker 自动创建Topic,建议线下开启,线上关闭
autoCreateTopicEnable=true
# 是否允许Broker自动创建订阅组,建议线下开启,线上关闭
autoCreateSubscriptionGroup=true
diskMaxUsedSpaceRatio=95

配置的 brokerIP1 是本地 IP 地址 。
还有一个技巧:我们也可以将 brokerIP1 配置成 host.docker.internal , 并且配置本地 Host
img

这样可以避免切换网络环境时,需要重新配置 brokerIP1 的问题。

7 启动broker

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
docker run -d \
--name rmqbroker \
--restart=always \
--link rmqnamesrv:namesrv \
-p 10911:10911 -p 10909:10909 \
--privileged=true \
-v /opt/module/docker/rocketmq/broker/logs:/home/rocketmq/logs \
-v /opt/module/docker/rocketmq/broker/store:/home/rocketmq/store \
-v /opt/module/docker/rocketmq/broker/conf/broker.conf:/home/rocketmq/broker.conf \
-e "MAX_POSSIBLE_HEAP=200000000" \
-e "MAX_HEAP_SIZE=512M" \
-e "HEAP_NEWSIZE=256M" \
-e "NAMESRV_ADDR=namesrv:9876" \
apache/rocketmq \
sh mqbroker -c /home/rocketmq/broker.conf

8 下载监控镜像

1
2

docker pull apacherocketmq/rocketmq-dashboard:latest

9 启动监控

1
2
3
4
5
docker run -p 8081:8080 --name rocketmq-console -d \
--restart=always \
--link rmqnamesrv:namesrv \
-e "JAVA_OPTS=-Drocketmq.namesrv.addr=namesrv:9876" \
-t apacherocketmq/rocketmq-dashboard

本站由 卡卡龙 使用 Stellar 1.29.1主题创建

本站访问量 次. 本文阅读量 次.