rocketmq的docker-compose

docker-compose.yml

version: '3.8'

services:
  # RocketMQ NameServer 服務(wù)
  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 服務(wù)
  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 服務(wù)
  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 服務(wù),如果不需要可以去掉
  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 換成自己的內(nèi)網(wǎng)ip

# 集群名稱(chēng)
brokerClusterName=DefaultCluster

# 節(jié)點(diǎn)名稱(chēng)
brokerName=broker-a

# Broker ID,0 表示 Master,其他正整數(shù)表示 Slave
brokerId=0

# Broker 服務(wù)地址,內(nèi)網(wǎng) IP
brokerIP1=172.xxxxxx

# Broker 角色
brokerRole=ASYNC_MASTER

# 刷盤(pán)方式
flushDiskType=ASYNC_FLUSH

# 刪除過(guò)期 commit log 的時(shí)間,默認(rèn) 04:00
deleteWhen=04

# 文件保留時(shí)間(小時(shí)),默認(rèn) 72 小時(shí)
fileReservedTime=72

# 允許 Broker 自動(dòng)創(chuàng)建 Topic,建議線(xiàn)下開(kāi)啟,線(xiàn)上關(guān)閉
autoCreateTopicEnable=true

# 允許 Broker 自動(dòng)創(chuàng)建訂閱組,建議線(xiàn)下開(kāi)啟,線(xiàn)上關(guān)閉
autoCreateSubscriptionGroup=true

# 啟用 ACL
aclEnable=true

# Broker 監(jiān)聽(tīng)端口
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

內(nèi)容里面的admin@xxx換成自己的密碼

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀(guān)點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容