docker 安装 RocketMQ

安装 rocketmq

拉取 rocketmq 镜像

docker pull apache/rocketmq

运行 namesrv

docker run -d \
--name rmqnamesrv \
--privileged=true \
-p 9876:9876 \
-v /tool/rocketmq/logs:/home/rocketmq/logs \
-v /tool/rocketmq/store:/home/rocketmq/store \
# 指定内存占用 xmx最大堆内存,xms堆初始空间大小
-e "JAVA_OPT_EXT=-Xmx128m -Xms128m" \
apache/rocketmq:latest \
# 应该是硬性规定namesrv的服务名为mqnamesrv
sh mqnamesrv

--name:容器名

--privileged=true:提供root权限

-p 宿主机端口:容器端口:映射目标端口到宿主机中

-v 宿主机目录:容器内部目录:映射目标目录到宿主机中对应目录下(挂载)

-e "-Dxxxx=xxx":设置容器启动参数

启动 broker,需要指定 namesrv 的地址,broker 默认监听的端口是10909,10911,10912

docker run -d \
--name rmqbroker \
--privileged=true \
-p 10909:10909 \
-p 10911:10911 \
-p 10912:10912 \
-v /tool/rocketmq/broker/logs:/home/rocketmq/logs \
-v /tool/rocketmq/broker/store:/home/rocketmq/store \
-v /tool/rocketmq/conf/broker.conf:/home/rocketmq/rocketmq-4.9.4/conf/broker.conf \
-e "NAMESRV_ADDR=rmqnamesrv:9876" \
# 指定内存占用 xmx最大堆内存,xms堆初始空间大小
-e "JAVA_OPT_EXT=-Xmx128m -Xms128m" \
# 可以通过 BROKER_PORT=XXXX 指定当前broker使用端口
apache/rocketmq:latest \
sh mqbroker -c /home/rocketmq/rocketmq-4.9.4/conf/broker.conf

可以使用默认的配置文件,也可以自定义配置,配置文件示例:

terName = DefaultCluster
brokerName = broker-a
brokerId = 0
deleteWhen = 04
fileReservedTime = 48
brokerRole = ASYNC_MASTER
flushDiskType = ASYNC_FLUSH
# namesrv 主机地址
namesrvAddr=服务器ip:9876
# 当前 broker 主机地址
brokerIP1=服务器ip
defaultTopicQueueNums=4
autoCreateTopicEnable=true
autoCreateSubscriptionGroup=true
listenPort=10911iskMaxUsedSpaceRatio=95

sh -c 指定配置文件启动容器

启动控制台

拉取控制台镜像

docker pull pangliang/rocketmq-console-ng

启动控制台容器,一定要先启动 namesrv

docker run -d \
--restart=always \
--name rmq-admin \
-e "JAVA_OPTS=-Drocketmq.namesrv.addr=服务器ip:9876 \
-Dcom.rocketmq.sendMessageWithVIPChannel=false" \
-p 9999:8080 \
pangliang/rocketmq-console-ng \
sh rmq-admin

--restart 一直自动重启

posted @   plum_wink  阅读(251)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 为什么说在企业级应用开发中,后端往往是效率杀手?
· DeepSeek 解答了困扰我五年的技术问题。时代确实变了!
· 本地部署DeepSeek后,没有好看的交互界面怎么行!
· 趁着过年的时候手搓了一个低代码框架
· 推荐一个DeepSeek 大模型的免费 API 项目!兼容OpenAI接口!
点击右上角即可分享
微信分享提示