rocketmq的docker-compose

docker-compose.yml

version: '3.8'

services:
  # RocketMQ NameServer 服务
  rocketmq-namesrv:
    image: apache/rocketmq:5.3.1
    container_name: rocketmq-namesrv
    restart: always
    ports:
      - 9876:9876
    volumes:
      - ./docker/namesrv/logs:/home/rocketmq/logs
      - ./docker/namesrv/store:/home/rocketmq/store
    environment:
      TZ: Asia/Shanghai
      JAVA_OPT_EXT: "-Duser.home=/home/rocketmq -Xms512m -Xmx512m -Xmn256m"
    command: ["sh", "mqnamesrv"]
    networks:
      rocketmq_net:
        aliases:
          - rocketmq-namesrv
    healthcheck:
      test: ["CMD", "sh", "-c", "ps aux | grep -v grep | grep mqnamesrv || exit 1"]
      interval: 10s
      timeout: 5s
      retries: 10
      start_period: 60s

  # RocketMQ Broker 服务
  rocketmq-broker:
    image: apache/rocketmq:5.3.1
    container_name: rocketmq-broker
    restart: always
    ports:
      - 10909:10909
      - 10911:10911
    volumes:
      - ./docker/broker/logs:/home/rocketmq/logs
      - ./docker/broker/store:/home/rocketmq/store
      - ./docker/plain_acl.yml:/home/rocketmq/rocketmq-5.3.1/conf/plain_acl.yml
      - ./docker/broker.conf:/home/rocketmq/rocketmq-5.3.1/conf/broker.conf
    environment:
      TZ: Asia/Shanghai
      JAVA_OPT_EXT: "-Duser.home=/home/rocketmq -Xms512m -Xmx512m -Xmn256m"
      NAMESRV_ADDR: rocketmq-namesrv:9876
    command: ["sh", "mqbroker", "-c", "/home/rocketmq/rocketmq-5.3.1/conf/broker.conf"]
    depends_on:
      rocketmq-namesrv:
        condition: service_healthy
    networks:
      rocketmq_net:
        aliases:
          - rocketmq-broker

  # RocketMQ Console 服务
  rocketmq-console:
    image: iamverygood/rocketmq-console:4.7.1
    container_name: rocketmq-console
    restart: always
    ports:
      - 8180:8080
    volumes:
      - ./docker/console/data:/tmp/rocketmq-console/data
    environment:
      TZ: Asia/Shanghai
      JAVA_OPTS: >
        -Drocketmq.namesrv.addr=rocketmq-namesrv:9876
        -Dcom.rocketmq.sendMessageWithVIPChannel=false
        -Drocketmq.config.loginRequired=true
        -Drocketmq.config.aclEnabled=true
        -Drocketmq.config.accessKey=accadmin
        -Drocketmq.config.secretKey=admin@xxx
    depends_on:
      rocketmq-namesrv:
        condition: service_healthy
    networks:
      rocketmq_net:
        aliases:
          - rocketmq-console

  # Minio 服务,如果不需要可以去掉
  minio:
    image: minio/minio:latest
    container_name: minio
    ports:
      - 9000:9000
      - 9001:9001
    environment:
      TZ: Asia/Shanghai
      MINIO_ROOT_USER: admin
      MINIO_ROOT_PASSWORD: admin@xxx
      MINIO_COMPRESS: "off"
      MINIO_COMPRESS_EXTENSIONS: ""
      MINIO_COMPRESS_MIME_TYPES: ""
    volumes:
      - ./docker/minio/data:/data
      - ./docker/minio/config:/root/.minio
    command: server --address ':9000' --console-address ':9001' /data
    networks:
      rocketmq_net:
        aliases:
          - minio

networks:
  rocketmq_net:
    name: rocketmq_net
    driver: bridge

./docker/broker.conf
里面的172.xxxx 换成自己的内网ip

# 集群名称
brokerClusterName=DefaultCluster

# 节点名称
brokerName=broker-a

# Broker ID,0 表示 Master,其他正整数表示 Slave
brokerId=0

# Broker 服务地址,内网 IP
brokerIP1=172.xxxxxx

# Broker 角色
brokerRole=ASYNC_MASTER

# 刷盘方式
flushDiskType=ASYNC_FLUSH

# 删除过期 commit log 的时间,默认 04:00
deleteWhen=04

# 文件保留时间(小时),默认 72 小时
fileReservedTime=72

# 允许 Broker 自动创建 Topic,建议线下开启,线上关闭
autoCreateTopicEnable=true

# 允许 Broker 自动创建订阅组,建议线下开启,线上关闭
autoCreateSubscriptionGroup=true

# 启用 ACL
aclEnable=true

# Broker 监听端口
listenPort=10911

./docker/plain_acl.yml

globalWhiteRemoteAddresses:
  - 127.0.0.1
  - 172.*.*.*

accounts:
  - accessKey: RocketMQ
    secretKey: admin@xxx
    whiteRemoteAddress: 172.*.*.*
    admin: true
    defaultTopicPerm: PUB|SUB
    defaultGroupPerm: PUB|SUB
    topicPerms:
      - topicA=DENY
      - topicB=PUB|SUB
      - topicC=SUB
    groupPerms:
      - groupA=DENY
      - groupB=PUB|SUB
      - groupC=SUB
  - accessKey: accadmin
    secretKey: admin@xxx
    whiteRemoteAddress: 172.*.*.*
    admin: true
    defaultTopicPerm: PUB|SUB
    defaultGroupPerm: SUB

内容里面的admin@xxx换成自己的密码

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容