docker 部署 rocketmq

RocketMQ 是一个分布式消息中间件,使用 Docker 可以方便地进行部署。

拉取 RocketMQ 镜像

首先,拉取 RocketMQ 的官方镜像:

bash 复制代码
docker pull apache/rocketmq:latest

部署 NameServer

创建数据卷目录:

bash 复制代码
mkdir -p /usr/local/rocketmq/data/namesrv/logs /usr/local/rocketmq/data/namesrv/store

启动 NameServer 容器:

bash 复制代码
docker run -d --restart=always --name rmqnamesrv --privileged=true -p 9876:9876 -v /usr/local/rocketmq/data/namesrv/logs:/root/logs -v /usr/local/rocketmq/data/namesrv/store:/root/store -e "MAX_POSSIBLE_HEAP=100000000" -e "JAVA_OPT_EXT=-Xms512M -Xmx512M -Xmn128m" apache/rocketmq sh mqnamesrv

部署 Broker

创建数据卷目录:

bash 复制代码
mkdir -p /usr/local/rocketmq/data/broker/logs /usr/local/rocketmq/data/broker/store /usr/local/rocketmq/conf

创建配置文件:

bash 复制代码
vi /usr/local/rocketmq/conf/broker.conf

配置文件内容示例:

bash 复制代码
brokerClusterName=DefaultCluster
brokerName=broker-a
brokerId=0
deleteWhen=04
fileReservedTime=48
brokerRole=ASYNC_MASTER
flushDiskType=ASYNC_FLUSH
brokerIP1=192.168.27.129
diskMaxUsedSpaceRatio=95

启动 Broker 容器:

bash 复制代码
docker run -d --restart=always --name rmqbroker --link rmqnamesrv:namesrv --privileged=true -p 10911:10911 -p 10912:10912 -p 10909:10909 -v /usr/local/rocketmq/data/broker/logs:/root/logs -v /usr/local/rocketmq/data/broker/store:/root/store -v /usr/local/rocketmq/conf/broker.conf:/home/rocketmq/rocketmq-4.9.4/conf/broker.conf -e "NAMESRV_ADDR=namesrv:9876" -e "JAVA_OPT_EXT=-Xms512M -Xmx512M -Xmn128m" -e "MAX_POSSIBLE_HEAP=200000000" apache/rocketmq sh mqbroker -c /home/rocketmq/rocketmq-4.9.4/conf/broker.conf

部署 RocketMQ 控制台

拉取控制台镜像:

bash 复制代码
docker pull styletang/rocketmq-console-ng

启动控制台容器:

bash 复制代码
docker run -d --restart=always --name rmqadmin -e "JAVA_OPTS=-Drocketmq.namesrv.addr=192.168.27.129:9876 -Dcom.rocketmq.sendMessageWithVIPChannel=false" -p 8081:8080 --ulimit nofile=1024 styletang/rocketmq-console-ng:latest

启动服务

启动 NameServer:

bash 复制代码
docker start rmqnamesrv

启动 Broker:

bash 复制代码
docker start rmqbroker

访问控制台:

在浏览器中访问 http://<你的IP>:8081 查看 RocketMQ 控制台

相关推荐
人鱼传说1 小时前
docker desktop是一个好东西
运维·docker·容器
忆~遂愿2 小时前
CANN metadef 核心解析:计算图原型定义、算子元数据抽象与异构系统互操作机制
docker·容器
说实话起个名字真难啊3 小时前
用docker来安装openclaw
docker·ai·容器
恬静的小魔龙3 小时前
【群晖Nas】群晖Nas中实现SVN Server功能、Docker/ContainerManager等
docker·svn·容器
Zfox_4 小时前
CANN Catlass 算子模板库深度解析:高性能 GEMM 融合计算、Cube Unit Tiling 机制与编程范式实践
docker·云原生·容器·eureka
春日见5 小时前
如何创建一个PR
运维·开发语言·windows·git·docker·容器
DARLING Zero two♡5 小时前
告别 Docker 命令行!Portainer+cpolar 让容器管理从局域网走向公网
运维·docker·容器
liu****6 小时前
2.深入浅出理解虚拟化与容器化(含Docker实操全解析)
运维·c++·docker·容器·虚拟化技术
logocode_li7 小时前
OCI/CRI 双标准下:从 dockerd 到 containerd 的 K8s 运行时迭代史
docker·云原生·容器·k8s
_运维那些事儿18 小时前
VM环境的CI/CD
linux·运维·网络·阿里云·ci/cd·docker·云计算