安装 Docker 及 Docker Compose
Docker 的安装官网给了很详细的步骤,略过。
Docker Compose 需要另外安装,从 GitHub 搜索 Docker Compose,下载 linux x86 平台的二进制文件,放到 /usr/local/bin 目录下,再添加执行权限就能正常使用了。
使用 docker-compose --version 验证安装和查看版本。
拉取镜像
拉取镜像:
1 2
| docker pull apache/rocketmq:5.3.2 docker pull apacherocketmq/rocketmq-dashboard:2.1.0
|
! 如遇网络问题可配置 /etc/docker/daemon.json 使用代理(2025年11月可用):
1 2 3 4 5 6
| { "registry-mirrors": [ "https://docker.xuanyuan.me" ], "userland-proxy": false }
|
配置完需要重启 Docker。
部署 namesrv 及 broker
使用 Docker Compose 安装 namesrv 及 broker。
新增 conf/broker.conf 文件:
1 2
| brokerIP1=rocketmq-broker
|
docker-compose 配置文件如下:
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
| version: '3.8' services: namesrv: image: apache/rocketmq:5.3.2 container_name: rocketmq-namesrv ports: - "25060:9876" environment: JAVA_OPT_EXT: "-server -Xms512m -Xmx512m -Xmn128m" command: sh mqnamesrv networks: - rocketmq
broker: image: apache/rocketmq:5.3.2 container_name: rocketmq-broker ports: - "25062:10909" - "25063:10911" - "25064:10913" - "25065:8081" environment: NAMESRV_ADDR: "rocketmq-namesrv:9876" JAVA_OPT_EXT: "-server -Xms512m -Xmx512m -Xmn128m" volumes: - Applications/docker_app_config/rocketmq/conf/broker.conf:/home/rocketmq/rocketmq-5.3.2/conf/broker.conf depends_on: - namesrv command: sh mqbroker -n rocketmq-namesrv:9876 -c /home/rocketmq/rocketmq-5.3.2/conf/broker.conf networks: - rocketmq
networks: rocketmq: driver: bridge external: true
|
在 docker-compose.yml 文件所在路径下执行 docker-compose up -d 启动 namesrv 和 broker。
安装 rocketmq-dashboard
启动 rocketmq-dashboard 容器:
1 2 3 4 5 6
| docker run -d \ --name rocketmq-dashboard \ --network rocketmq \ -p 25061:8082 \ -e "JAVA_OPTS=-Drocketmq.config.namesrvAddr=rocketmq-namesrv:9876" \ apacherocketmq/rocketmq-dashboard:2.1.0
|
! 如果配置了防火墙需放行映射的宿主机端口。
访问 http://host:25061 打开 dashboard 首页。
问题记录
部署 dashboard 之后打开首页提示:
1
| org.apache.rocketmq.remoting.exception.RemotingConnectException: connect to 127.0.0.1:10909 failed
|
以为是端口映射的问题,下载了源码下来查看,没有找到 10909 这个端口相关的代码。后面问了 AI,发现是 conf/broker.conf 文件中配置有问题:
将此配置改为 broker 容器的名称,再重启 broker,刷新 dashboard 就正常展示数据了。