「ROCKETMQ」- 部署 | Docker Compose

Broker Configuration

brokerClusterName = DefaultCluster
brokerName = broker-a
brokerId = 0
deleteWhen = 04
fileReservedTime = 48
brokerRole = ASYNC_MASTER
flushDiskType = ASYNC_FLUSH
namesrvAddr = 192.168.110.55:9876
# Docker环境需要设置成宿主机IP
#brokerIP1 = {docker宿主机IP}
brokerIP1 = 192.168.110.55

Docker Compose YAML

version: "3"
services:

    rocketmq-nameserver:
        restart: always
        container_name: rmqnamesrv
        ports:
            - 9876:9876
        volumes:
            - ./data/server/logs:/home/rocketmq/logs
            - ./data/server/stores:/home/rocketmq/store
        environment:
            - MAX_HEAP_SIZE=256M
            - HEAP_NEWSIZE=128M		
            - MAX_POSSIBLE_HEAP=200000000
        image: docker.io/apache/rocketmq:4.7.1
        command: sh mqnamesrv
        
    rocketmq-broker:
        restart: always
        container_name: rmqbroker
        ports:
            - 10911:10911
            - 10909:10909
            - 9877:9877
        # privileged: true
        # cd /data/service/rocketmq/rocketmq-broker && chmod -R a+rw logs store # store 也是 Broker 启动后才生成的
        volumes:
            - ./data/broker/logs:/home/rocketmq/logs/rocketmqlogs
            - ./data/broker/store:/home/rocketmq/store
            - ./data/broker/conf/broker.conf:/home/rocketmq/rocketmq-4.7.1/conf/broker.conf
            # - /home/pontus.fan/rocketmq/broker/bin/runbroker.sh:/home/rocketmq/rocketmq-4.7.1/bin/runbroker.sh
        environment:
            - MAX_HEAP_SIZE=512M
            - HEAP_NEWSIZE=256M
            - MAX_POSSIBLE_HEAP=200000000
            - NAMESRV_ADDR=192.168.110.55:9876
        image: docker.io/apache/rocketmq:4.7.1
        command: sh mqbroker -c /home/rocketmq/rocketmq-4.7.1/conf/broker.conf
        depends_on:
            - rocketmq-nameserver
            
    rocketmq-dashboard:
        container_name: rocketmq-dashboard
        environment:
          JAVA_OPTS: "-Drocketmq.namesrv.addr=192.168.110.55:9876"
        ports:
            - 18080:8080
        tty: true
        image: docker.io/apacherocketmq/rocketmq-dashboard:latest
        depends_on:
            - rocketmq-nameserver