docker-compose脚本一键部署 rocketmq + rocketmq-dashboard

1、先创建内部网络

yaml 复制代码
docker network create --driver bridge testnetwork

2、脚本,注意:第一次启动会报错,因为找不到/home/rocketmq/rocketmq-5.3.1/conf/broker.conf,所以broker.conf需要手动创建

yaml 复制代码
# broker 核心配置
brokerClusterName = DefaultCluster
brokerName = broker-a
brokerId = 0
listenPort = 10911
# 允许自动创建主题(新手必备)
autoCreateTopicEnable = true
# 允许自动创建订阅组
autoCreateSubscriptionGroup = true
# 存储路径(容器内路径,无需改)
storePathRootDir = /home/rocketmq/store
storePathCommitLog = /home/rocketmq/store/commitlog
# 关键修正:指定 Broker 注册地址为容器名(rmqbroker),而非 0.0.0.0
brokerIP1 = rmqbroker
# 关闭 VIP 通道(Dashboard 连接必备)
vipChannelEnabled = false
# 名称服务器地址(容器内指向 namesrv)
namesrvAddr = namesrv:9876
# 刷盘策略(新手用异步,性能高)
flushDiskType = ASYNC_FLUSH
# 日志保留时间(72小时)
fileReservedTime = 72
端口号 核心功能 单机部署必需性 主从部署必需性
10911 客户端主通信 ✔️ 必需 ✔️ 必需
10909 VIP通道(兼容/备用) ❌ 可选(推荐) ❌ 可选(推荐)
10912 主从数据同步(HA) ❌ 可选(推荐) ✔️ 必需端口 核心用途 单机部署是否必须 主从部署是否必须
yaml 复制代码
version: '3.8'
services:
  namesrv:
    image: apache/rocketmq:5.3.1
    container_name: rmqnamesrv
    ports:
      - "9876:9876"
    networks:
      - testnetwork
    command: sh mqnamesrv
    restart: always

  broker:
    image: apache/rocketmq:5.3.1
    container_name: rmqbroker
    ports:
      - "10909:10909"
      - "10911:10911"
      - "10912:10912"
    volumes:
      - /mnt/data/rocketmq/conf:/home/rocketmq/rocketmq-5.3.1/conf
      - /mnt/data/rocketmq/broker/logs:/home/rocketmq/logs
      - /mnt/data/rocketmq/broker/store:/home/rocketmq/store
    environment:
      - NAMESRV_ADDR=namesrv:9876
    depends_on:
      - namesrv
    networks:
      - testnetwork
    command: sh mqbroker -c /home/rocketmq/rocketmq-5.3.1/conf/broker.conf
    restart: always

  dashboard:
    image: apacherocketmq/rocketmq-dashboard:latest
    container_name: rmqdashboard
    ports:
      - "8082:8082"
    networks:
      - testnetwork
    environment:
      - "JAVA_OPTS=-Drocketmq.namesrv.addr=namesrv:9876 -Dcom.rocketmq.sendMessageWithVIPChannel=false"
    depends_on:
      - namesrv
      - broker
    restart: always
networks:
  testnetwork:
    external: true

3、执行启动命令

powershell 复制代码
docker-compose -f 17-rocketmq.yml up -d
相关推荐
IT 小阿姨(数据库)11 分钟前
K8s v1.24.17 完整搭建文档(CentOS7 + containerd1.6.33 + Calico)
java·容器·kubernetes
楠楠子呀3 小时前
从零构建高性能 WhatsApp 链接生成器与重定向服务:架构与路由解析
redis·python·容器·架构·flink·散列表·flume
qq_349447953 小时前
K8S中的Calico如何获取对应版本
云原生·容器·kubernetes
qq_11360149354 小时前
CopyEscape Docker容器逃逸(CVE-2026-17106)
运维·docker·容器
修先生4 小时前
WisQuery 一套开箱即用、可 Docker 一键部署的 智能问数 + 知识库 + 智能问答 一体化平台
运维·docker·容器
有来技术4 小时前
youlai-boot 实战:MinIO 停止维护,Docker 迁移 RustFS 完整记录
java·后端·docker
Rain的Java大神之路5 小时前
Docker搭建Redis集群完全指南
java·运维·redis·后端·docker·容器·架构
虎王物联5 小时前
Docker Compose一键部署物联网平台:EMQX+InfluxDB+Grafana完整方案
物联网·docker·grafana·emqx
梦想不只是梦与想6 小时前
Docker 安装 MySQL
docker·容器·docker 安装 mysql