1、docker-compose目录结构
├── broker
│ ├── conf
│ │ └── broker.conf
│ ├── logs
│ │ └── rocketmqlogs
│ └── store
│ ├── abort
│ ├── checkpoint
│ ├── commitlog
│ │ └── 00000000000000000000
│ ├── config
│ │ ├── consumerFilter.json
│ │ ├── consumerOffset.json
│ │ ├── delayOffset.json
│ │ ├── subscriptionGroup.json
│ │ └── topics.json
│ ├── consumequeue
│ ├── index
│ │ └── 20220823045336115
│ └── lock
├── console
│ └── logs
│ └── consolelogs
├── docker-compose.yml
└── namesrv
└── logs
2、编写docker-compose文件
version: '3.5'
services:
rmqnamesrv:
image: rocketmqinc/rocketmq
container_name: rmqnamesrv
restart: always
ports:
- 9876:9876
environment:
#内存分配
JAVA_OPT_EXT: "-server -Xms512m -Xmx512m"
volumes:
- /data/docker-compose/rocketmq/namesrv/logs:/root/logs
command: sh mqnamesrv
networks:
rmq:
aliases:
- rmqnamesrv
rmqbroker:
image: rocketmqinc/rocketmq
container_name: rmqbroker
restart: always
depends_on:
- rmqnamesrv
ports:
- 10909:10909
- 10911:10911
volumes:
- /data/docker-compose/rocketmq/broker/logs:/root/logs
- /data/docker-compose/rocketmq/broker/store:/root/store
- /data/docker-compose/rocketmq/broker/conf/broker.conf:/opt/rocketmq-4.4.0/conf/broker.conf
command: sh mqbroker -c /opt/rocketmq-4.4.0/conf/broker.conf
environment:
NAMESRV_ADDR: "rmqnamesrv:9876"
JAVA_OPT_EXT: "-server -Xms512m -Xmx512m -Xmn512m"
networks:
rmq:
aliases:
- rmqbroker
rmqconsole:
image: styletang/rocketmq-console-ng
container_name: rocketmq-console
restart: always
ports:
- 18181:8080
depends_on:
- rmqnamesrv
volumes:
- /etc/localtime:/etc/localtime:ro
- /data/docker-compose/rocketmq/console/logs:/root/logs
environment:
JAVA_OPTS: "-Drocketmq.namesrv.addr=rmqnamesrv:9876 -Dcom.rocketmq.sendMessageWithVIPChannel=false"
networks:
rmq:
aliases:
- rmqconsole
networks:
rmq:
name: rmq
driver: bridge
2、编写broker.conf文件
[root@192-168-1-131 rocketmq]# cat broker/conf/broker.conf
brokerClusterName=DefaultCluster
brokerName=broker-a
brokerId=0
brokerIP1=192.168.1.131
defaultTopicQueueNums=4
autoCreateTopicEnable=true
autoCreateSubscriptionGroup=true
listenPort=10911
deleteWhen=04
fileReservedTime=24
mapedFileSizeCommitLog=1073741824
mapedFileSizeConsumeQueue=300000
diskMaxUsedSpaceRatio=75%
maxMessageSize=65536
brokerRole=ASYNC_MASTER
flushDiskType=ASYNC_FLUSH
3、启动容器
[root@192-168-1-131 rocketmq]# docker-compose up -d
Pulling rmqnamesrv (rocketmqinc/rocketmq:)...
Trying to pull repository docker.io/rocketmqinc/rocketmq ...
latest: Pulling from docker.io/rocketmqinc/rocketmq
a02a4930cb5d: Pull complete
90eb47c86343: Pull complete
43bf660f95f6: Pull complete
7f5ca7a20245: Pull complete
707a618112e3: Pull complete
4b527473eafb: Pull complete
fedd1d06c8ba: Pull complete
27782fcf3aef: Pull complete
Digest: sha256:b08556227ad8d169b7927f4c48335877cb10060e6781374ce5a644ea29f6fbe1
Status: Downloaded newer image for docker.io/rocketmqinc/rocketmq:latest
Creating rmqnamesrv ... done
Recreating rmqbroker ... done
Creating rocketmq-console ... done
4、查询容器运行情况
[root@192-168-1-131 rocketmq]# docker-compose ps
Name Command State Ports
------------------------------------------------------------------------------------------------------------------------
rmqbroker sh mqbroker -c /opt/rocket ... Up 0.0.0.0:10909->10909/tcp, 0.0.0.0:10911->10911/tcp, 9876/tcp
rmqnamesrv sh mqnamesrv Up 10909/tcp, 10911/tcp, 0.0.0.0:9876->9876/tcp
rocketmq-console sh -c java $JAVA_OPTS -jar ... Up 0.0.0.0:18181->8080/tcp