# Docker安装RocketMQ教程

以下是一份详细的 RocketMQ 安装教程,涵盖环境准备、安装步骤及验证方法,适用于 Linux/Windows 系统。

# RocketMQ 安装教程

# 一、环境准备

JDK安装教程:

【腾讯文档】JDK安装教程

https://docs.qq.com/doc/DYU1IVUxCeGZidFRh

RocketMQ中文文档

https://rocketmq.apache.org/zh/docs/quickStart/02quickstartWithDocker

# 二、Docker安装

# 1、拉取镜像

#拉取镜像 因为国内访问不了docker的网站 所以使用镜像网站docker.1ms.run
docker pull docker.1ms.run/apache/rocketmq:5.1.0
 
#创建网络
docker network create rocketmq
 
1
2
3
4
5
6

# 2、运行nameserver

#创建目录 用于在宿主机进行配置  -p参数是为了创建多级目录
mkdir -p /data/rocketmq/nameserver/{bin,logs}
 
# 授权文件
chmod 777 -R /data/rocketmq/nameserver/*
 
# 创建容器
docker run -d \
--privileged=true --name rmqnamesrv \
docker.1ms.run/apache/rocketmq:5.1.0 sh mqnamesrv
 
# 拷贝启动脚本
docker cp rmqnamesrv:/home/rocketmq/rocketmq-5.1.0/bin/runserver.sh /data/rocketmq/nameserver/bin/
 
# 删除容器 NameServer
docker rm -f rmqnamesrv
 
# 启动容器 NameServer  --restart=always表示不管容器由于什么原因停止的都会自动重启当docker运行起来之后
docker run -d --network rocketmq \
--privileged=true --restart=always \
--name rmqnamesrv -p 9876:9876 \
-v /data/rocketmq/nameserver/logs:/home/rocketmq/logs \
-v /data/rocketmq/nameserver/bin/runserver.sh:/home/rocketmq/rocketmq-5.1.0/bin/runserver.sh \
docker.1ms.run/apache/rocketmq:5.1.0 sh mqnamesrv
 
# 查看启动日志
docker logs -f rmqnamesrv
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27

# 3、运行broker

#创建数据卷
mkdir -p /data/rocketmq/broker/{store,logs,conf,bin}
chmod 777 -R /data/rocketmq/broker/*
 
vim /data/rocketmq/broker/conf/broker.conf
#以下是配置文件
# nameServer 地址多个用;隔开 默认值null
# 例:127.0.0.1:6666;127.0.0.1:8888 
namesrvAddr = 117.72.203.165:9876
# 集群名称
brokerClusterName = DefaultCluster
# 节点名称
brokerName = broker-a
# broker id节点ID, 0 表示 master, 其他的正整数表示 slave,不能小于0 
brokerId = 0
# Broker服务地址	填公网ip
brokerIP1 = 117.72.203.165
# Broker角色
brokerRole = ASYNC_MASTER
# 刷盘方式
flushDiskType = ASYNC_FLUSH
# 在每天的什么时间删除已经超过文件保留时间的 commit log,默认值04
deleteWhen = 04
# 以小时计算的文件保留时间 默认值72小时
fileReservedTime = 72
# 是否允许Broker 自动创建Topic,建议线下开启,线上关闭
autoCreateTopicEnable=true
# 是否允许Broker自动创建订阅组,建议线下开启,线上关闭
autoCreateSubscriptionGroup=true
# 禁用 tsl
tlsTestModeEnable = false
 
 
# 启动 Broker 容器
docker run -d \
--name rmqbroker --privileged=true \
docker.1ms.run/apache/rocketmq:5.1.0 sh mqbroker
 
# 拷贝脚本文件
docker cp rmqbroker:/home/rocketmq/rocketmq-5.1.0/bin/runbroker.sh /data/rocketmq/broker/bin
 
 
# 删除容器 Broker
docker rm -f rmqbroker
 
# 启动容器 Broker
docker run -d --network rocketmq \
--restart=always --name rmqbroker --privileged=true \
-p 10911:10911 -p 10909:10909 \
-v /data/rocketmq/broker/logs:/root/logs \
-v /data/rocketmq/broker/store:/root/store \
-v /data/rocketmq/broker/conf/broker.conf:/home/rocketmq/broker.conf \
-v /data/rocketmq/broker/bin/runbroker.sh:/home/rocketmq/rocketmq-5.1.0/bin/runbroker.sh \
-e "NAMESRV_ADDR=rmqnamesrv:9876" \
docker.1ms.run/apache/rocketmq:5.1.0 sh mqbroker  -c /home/rocketmq/broker.conf
 
# 查看启动日志
docker logs -f rmqbroker
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59

# 4、运行dabshboard

#拉取镜像
docker pull apacherocketmq/rocketmq-dashboard:latest
 
#运行容器
docker run -d \
--restart=always --name rmq-dashboard \
-p 8080:8080 --network rocketmq \
-e "JAVA_OPTS=-Xmx256M -Xms256M -Xmn128M -Drocketmq.namesrv.addr=rmqnamesrv:9876 -Dcom.rocketmq.sendMessageWithVIPChannel=false" \
docker.1ms.run/apacherocketmq/rocketmq-dashboard
 
#查看日志
docker logs -f rmq-dashboard
1
2
3
4
5
6
7
8
9
10
11
12

# 5、卸载rocketMQ

#停止容器
docker stop <容器ID>
#移除容器
docker rm  <容器ID>
1
2
3
4

# 6、注意事项

1、运行broker的时候,不要加--enable-proxy 参数

官方文档 (opens new window)

# 三、Springboot整合RocketMQ

最近更新: 8/27/2025, 8:54:07 AM