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 控制台

相关推荐
l1t7 小时前
用docker安装测试crate数据库
数据库·docker·容器·cratedb
枕书9 小时前
实战记录:如何使用 Docker 一键部署长亭 PandaWiki 智能知识库
运维·docker·容器
IT199513 小时前
Docker笔记-对docker-compose.yml基本认识
笔记·docker·容器
supersolon15 小时前
WSL2(Linux)升级docker
linux·运维·docker·wsl·升级
阿里云云原生15 小时前
AI 推理精细化流量治理实战:RocketMQ LiteTopic 的“千人千面”流控方案
rocketmq
一殊酒15 小时前
【Docker】常用命令大全及解析
docker·容器·eureka
Uncertainty!!16 小时前
将docker镜像上传到github镜像存储仓库(GitHub 容器仓库(GHCR)使用流程)
docker·容器·github
我是谁??16 小时前
Rocky9+ Docker + 容器内Linux桌面环境 + Web远程
运维·docker·容器
姓王名礼17 小时前
这是一个完整的全栈交付包,包含Vue3 前端交互界面(集成数字人视频流、ECharts 图表、语音对话)和Docker Compose 一键部署脚本。
前端·docker·echarts
eggwyw17 小时前
Redis 设置密码(配置文件、docker容器、命令行3种场景)
数据库·redis·docker