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
相关推荐
更深兼春远11 小时前
第2篇:Dify 部署保姆级教程:用 Docker跑起来
docker·容器·dify
小白的码BUG之路14 小时前
Docker -- No space left on device
运维·docker·容器
wzq11_66615 小时前
Kubernetes集群——Service篇(详细讲解!!!)
云原生·容器·kubernetes
程序员老陆16 小时前
Docker 命令全景指南:从镜像构建到生产运维
运维·docker·容器
灯澜忆梦1 天前
【minio】#1 | 简介与安装
docker·对象存储·minio
江湖有缘1 天前
3款开源绘图工具整理合集,可Docker一键部署!
docker·容器·开源
TTATTC2 天前
告别协议选型内耗:深入拆解微服务“内部 gRPC + 边界 REST”混合通信架构与 Envoy 转码实战
docker·开源
小匠石钧知2 天前
06_在k8s集群中安装MetalLB实现LoadBalancer
云原生·容器·kubernetes·service·loadbalancer·metallb
光依旧2 天前
PageIndex没翻车,翻车的是我的解析器
docker·langchain·大模型·向量数据库·pdf解析·rag·pageindex
此时不提桶,更待何时2 天前
06-07-A-RocketMQ生态集成详解
rocketmq