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
相关推荐
Lumbrologist8 小时前
【零基础部署】Docker 部署 CrewAI 多 Agent 编排框架保姆级教程
运维·docker·容器
半旧夜夏13 小时前
【保姆级】微服务组件环境搭建(Docker Compose版)
java·linux·spring cloud·微服务·云原生·容器
宇明一不急15 小时前
k8s HPA storageclass configmap
云原生·容器·kubernetes
ZzzZZzzzZZZzzzz…17 小时前
Docker + K8s集群搭建实战:1 Master+2 Node,含Harbor私有仓库与软路由
docker·云原生·容器·kubernetes·容器编排·集群部署·cri-dockerd
xier_ran18 小时前
【infra之路】模块三:Kubernetes (下) — 阶段一毕业项目:在集群里跑 PyTorch 训练
pytorch·容器·kubernetes
Waay18 小时前
K8s新手实操|emptyDir卷超详细实战(附完整命令+核心理解)
云原生·容器·kubernetes
liux352819 小时前
K8s 核心接口:CNI、CSI、CRI、LB 一篇讲透
云原生·容器·kubernetes
香气袭人知骤暖19 小时前
人大金仓(KingbaseES)Docker 容器自动备份方案
运维·docker·容器
大熊程序猿19 小时前
MarkItDown Docker安装
运维·docker·容器
Hello_worlds20 小时前
Kafka InconsistentClusterIdException 导致容器无限重启,磁盘打满排查与修复
docker·kafka·磁盘·排障