Docker-compose 部署 RocketMQ

创建网络

docker network create rocketmq

部署NameServer

vim docker-compose.yml
version: '3.8'

services:
  rmqnamesrv:
    image: apache/rocketmq:4.9.6
    container_name: rmqnamesrv
    ports:
      - "9876:9876"
    networks:
      - rocketmq
    command: sh mqnamesrv

networks:
  rocketmq:
    external: true

部署broker

创建配置文件

vim broker.conf
# Broker 名称
brokerName=broker-1

# Broker 所属的集群名称
brokerClusterName=default-cluster

# NameServer 地址
namesrvAddr=rmqnamesrv:9876

# Broker 的监听地址(可以是容器的内部 IP 或者主机的 IP)
brokerIP1=192.168.1.202

# Broker 监听端口
listenPort=10911

# 是否开启自动创建主题
autoCreateTopicEnable=true

# 是否开启自动创建订阅组
autoCreateSubscriptionGroup=true

diskMaxUsedSpaceRatio=98

创建 docker-compose.yml 文件

vim docker-compose.yml
version: '3.8'
services:
  rmqbroker1:
    image: apache/rocketmq:4.9.6
    container_name: rmqbroker1
    ports:
      - "10912:10912"
      - "10911:10911"
      - "10909:10909"
    #environment:
      # NAMESRV_ADDR: "rmqnamesrv:9876"
    volumes:
      - ./broker.conf:/home/rocketmq/rocketmq-4.9.6/conf/broker.conf
    networks:
      - rocketmq
    command: sh mqbroker -c /home/rocketmq/rocketmq-4.9.6/conf/broker.conf

networks:
  rocketmq:
    external: true

部署可视化监控

vim docker-compose.yml
version: '3.8'

services:
  rocketmq-dashboard:
    image: apacherocketmq/rocketmq-dashboard:latest
    container_name: rocketmq-dashboard
    environment:
      - JAVA_OPTS=-Drocketmq.namesrv.addr=rmqnamesrv:9876
    ports:
      - "8080:8080"
    networks:
      - rocketmq

networks:
  rocketmq:
    external: true

评论已关闭