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
相关推荐
阿里云云原生1 小时前
长城汽车消息总线全面升级,基于 RocketMQ Serverless 实现跨云双活容灾
serverless·rocketmq
赵文宇(温玉)2 小时前
Openclaw-In-Docker新版本发布,更轻、更快、更健壮,1600+次下载,30+Github关注
docker·容器·github·小龙虾·clawclaw
badhope2 小时前
Docker入门到实战全攻略
linux·python·docker·github·matplotlib
daydayup95272 小时前
swarm安装使用(二)
docker·云原生·容器
daydayup95272 小时前
swarm安装使用(一)
docker·云原生·容器
没有bug.的程序员4 小时前
CI/CD 流水线的物理级崩塌:Spring Boot 镜像从 1.2G 暴降至 200M 的 Docker 底层大重构
java·spring boot·ci/cd·docker·重构
lbb 小魔仙4 小时前
Portainer 实战:可视化管理 Docker并实现外网访问
运维·docker·容器
小陈工5 小时前
Docker容器化部署Python应用——从开发到生产的全流程
运维·开发语言·python·docker·云原生·容器·数据挖掘