怎么在Docker中部署容器化的RocketMQ并配置Dashboard

轻墨君_1712

轻墨君_1712

2026-05-01

547人浏览

原创

docker部署rocketmq并配置dashboard需三步:启动nameserver、启动含proxy的broker、启动dashboard容器,全部通过镜像完成,依赖专用网络和宿主机真实ip配置,dashboard通过容器名访问nameserver。

怎么在docker中部署容器化的rocketmq并配置dashboard

在 Docker 中部署 RocketMQ 并配置 Dashboard,核心是三步:启动 NameServer、启动 Broker(含 Proxy)、再启动 Dashboard 容器,并确保它们网络互通、地址可访问。整个过程不依赖本地 Java 环境,全部通过镜像和配置文件完成。

一、准备基础环境与网络

确保已安装 Docker(20.10+),并验证可用:

docker --version

创建专用网络,避免端口冲突或容器间通信失败:

docker network create rocketmq

建议提前创建持久化目录,用于日志和存储(防止容器重启后数据丢失):

  • mkdir -p /data/rocketmq/{logs,store}
  • chmod -R 777 /data/rocketmq(开发环境可接受;生产建议细化权限)

二、启动 NameServer 和 Broker

NameServer 是注册中心,Broker 依赖它发现集群节点。两者需在同一网络中,且 Broker 必须通过容器名(如 rmqnamesrv)连接 NameServer。

启动 NameServer:

docker run -d --name rmqnamesrv -p 9876:9876 --network rocketmq apache/rocketmq:5.3.2 sh mqnamesrv

启动 Broker(含 Proxy,5.x 默认启用):

先创建 broker.conf 文件(路径如 /data/rocketmq/conf/broker.conf):

brokerClusterName = DefaultCluster
brokerName = broker-a
brokerId = 0
deleteWhen = 04
fileReservedTime = 48
brokerRole = ASYNC_MASTER
flushDiskType = ASYNC_FLUSH
brokerIP1 = 192.168.41.121 ← 替换为宿主机真实 IP(非 127.0.0.1)
listenPort = 10911
namesrvAddr = rmqnamesrv:9876

再运行 Broker 容器:

Dolphindb Docker
Dolphindb Docker

自动化 DolphinDB Docker 部署,支持自动架构检测(ARM64/x86_64),智能内存分配(50% 规则)以及完整数据持久化。

下载

docker run -d \
  --name rmqbroker \
  --network rocketmq \
  -p 10911:10911 -p 10912:10912 -p 10909:10909 \
  -v /data/rocketmq/conf/broker.conf:/home/rocketmq/rocketmq-5.3.2/conf/broker.conf \
  -v /data/rocketmq/logs:/home/rocketmq/logs \
  -v /data/rocketmq/store:/home/rocketmq/store \
  -e "NAMESRV_ADDR=rmqnamesrv:9876" \
  apache/rocketmq:5.3.2 sh mqbroker --enable-proxy -c /home/rocketmq/rocketmq-5.3.2/conf/broker.conf

验证是否就绪:

  • docker logs -f rmqnamesrv → 出现 The Name Server boot success..
  • docker exec rmqbroker tail -n 5 /home/rocketmq/logs/rocketmqlogs/proxy.log → 出现 The proxy boot success

三、部署 RocketMQ Dashboard 可视化界面

Dashboard 是独立服务,只读取 NameServer 地址即可监控集群状态,无需挂载数据卷。

拉取并运行最新版 Dashboard 镜像:

docker pull apacherocketmq/rocketmq-dashboard:latest

docker run -d \
  --name rmqdashboard \
  --network rocketmq \
  -p 8080:8080 \
  -e "JAVA_OPTS=-Drocketmq.namesrv.addr=rmqnamesrv:9876" \
  apacherocketmq/rocketmq-dashboard:latest

注意:namesrv.addr 必须写容器名 + 端口(rmqnamesrv:9876),不能填宿主机 IP(除非使用 host 网络模式)。

启动后访问:http://localhost:8080(若在远程服务器,需确认安全组放行 8080 端口)。

默认账号密码为:admin / 123456(首次登录后可在配置中修改)。

四、补充说明与常见问题

如果用 Docker Compose 管理更简洁,可直接使用标准 docker-compose.yml 模板,定义 namesrv、broker、dashboard 三个 service,统一 network 和 depends_on 依赖关系。

遇到连接失败,重点检查三项:

  • Broker 的 brokerIP1 是否设为宿主机真实 IP(Mac/Windows 用户注意 Docker Desktop 的虚拟网关行为)
  • Dashboard 的 NAMESRV_ADDR 是否指向容器内可解析的名称(即同 network 下的 namesrv 容器名)
  • 防火墙或云平台安全组是否开放 9876、10911、8080 端口

部署完成后,可用 mqadmin 进入 broker 容器手动创建 Topic,或通过 Dashboard 页面操作。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

docker

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
k8s和docker区别
k8s和docker区别

k8s和docker区别有抽象层次不同、管理范围不同、功能不同、应用程序生命周期管理不同、缩放能力不同、高可用性等等区别。本专题为大家提供k8s和docker区别相关的各种文章、以及下载和课程。

2023.07.24

685

4

docker进入容器的方法有哪些
docker进入容器的方法有哪些

docker进入容器的方法:1. Docker exec;2. Docker attach;3. Docker run --interactive --tty;4. Docker ps -a;5. 使用 Docker Compose。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2024.04.08

4999

6

docker容器无法访问外部网络怎么办
docker容器无法访问外部网络怎么办

docker 容器无法访问外部网络的原因和解决方法:配置 nat 端口映射以将容器端口映射到主机端口。根据主机兼容性选择正确的网络驱动(如 host 或 overlay)。允许容器端口通过主机的防火墙。配置容器的正确 dns 服务器。选择正确的容器网络模式。排除主机网络问题,如防火墙或连接问题。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2024.04.08

5957

6

docker镜像有什么用
docker镜像有什么用

docker 镜像是预构建的软件组件,用途广泛,包括:应用程序部署:简化部署,提高移植性。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2024.04.08

2273

7

Docker容器化部署与DevOps实践
Docker容器化部署与DevOps实践

本专题面向后端与运维开发者,系统讲解 Docker 容器化技术在实际项目中的应用。内容涵盖 Docker 镜像构建、容器运行机制、Docker Compose 多服务编排,以及在 DevOps 流程中的持续集成与持续部署实践。通过真实场景演示,帮助开发者实现应用的快速部署、环境一致性与运维自动化。

2026.02.11

239

16

Docker 容器部署
Docker 容器部署

本专题整合了Docker容器部署相关内容,阅读专题下面的文章了解更多详细操作教程。

2026.03.31

431

14

Java容器化部署与Docker实践教程合集
Java容器化部署与Docker实践教程合集

聚焦 Java 应用的容器化与云原生部署,讲解 Dockerfile 编写规范与 Java 应用镜像构建、多阶段构建(Multi-stage Build)减小镜像体积、Jib / Buildpacks 免 Dockerfile 镜像构建方案、JVM 容器感知参数(-XX:MaxRAMPercentage)配置、Docker Compose 编排多服务(应用 + MySQL + Redis)、容器健康检查与资源限制、Kubernetes

2026.05.11

380

26

Go Docker与容器化部署教程合集
Go Docker与容器化部署教程合集

聚焦 Go 应用的容器化部署优势与实践,讲解 Go 静态编译特性(CGO_ENABLED=0)与 scratch / distroless 极小基础镜像构建、多阶段 Dockerfile 编写规范、交叉编译生成目标平台二进制、镜像安全扫描(Trivy)与漏洞修复、Docker Compose 本地编排开发环境、Kubernetes Deployment / Service / ConfigMap 部署 Go 服务、健康检查(Livene

2026.05.15

285

24

Hyperf 项目部署运维与性能调优手册
Hyperf 项目部署运维与性能调优手册

聚焦 Hyperf 在生产环境的落地,包含 Docker 高效打包、Swoole 配置优化、常见的内存溢出(OOM)问题排查方法以及热更新方案。

2026.05.19

405

15

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
phpMyAdmin 安装文档
phpMyAdmin 安装文档

共0课时 | 0人学习

Docker 官方文档
Docker 官方文档

共0课时 | 0人学习

宝塔 Docker 模块使用手册
宝塔 Docker 模块使用手册

共0课时 | 0人学习