RocketMQ NameServer
NameServer uses the same image as Broker
How To Run
docker run -d \
-v /home/dockerdata/rocketmq/namesrv/logs:/home/rocketmq/logs \
--name rmqnamesrv \
-p 9876:9876 \
wujiawei0926/rocketmq:4.8.0-alpine sh mqnamesrv
RockerMQ Broker
This image we used was built by https://github.com/apache/rocketmq-docker.
The latest version of rocketmq is 4.8.0 when writing this document.
How To Pull
docker pull wujiawei0926/rocketmq:4.8.0-alpine
How To Run
docker run -d \
-v /home/dockerdata/rocketmq/broker/logs:/home/rocketmq/logs \
-v /home/dockerdata/rocketmq/broker/store:/home/rocketmq/store \
--name rmqbroker \
--link rmqnamesrv:namesrv \
-e "NAMESRV_ADDR=namesrv:9876" \
-p 10909:10909 -p 10911:10911 -p 10912:10912 \
wujiawei0926/rocketmq:4.8.0-alpine sh mqbroker
RocketMQ Console
How To Pull
docker pull wujiawei0926/rocketmq-console-ng
How To Run
docker run -d \
--name rmqconsole -p 19969:19969 \
-e "JAVA_OPTS=-Drocketmq.namesrv.addr=namesrv:9876 -Dcom.rocketmq.sendMessageWithVIPChannel=false" \
-t \
wujiawei0926/rocketmq-console-ng
If using docker-compose
In the case of docker-compose, create docker-compose.yml like following:
version: '2'
services:
#Service for nameserver
namesrv:
image: wujiawei0926/rocketmq:4.8.0-alpine
container_name: rmqnamesrv
ports:
- 9876:9876
volumes:
- /home/dockerdata/rocketmq/namesrv/logs:/home/rocketmq/logs
command: sh mqnamesrv
#Service for broker
broker:
image: wujiawei0926/rocketmq:4.8.0-alpine
container_name: rmqbroker
links:
- namesrv
ports:
- 10909:10909
- 10911:10911
- 10912:10912
environment:
- NAMESRV_ADDR=namesrv:9876
volumes:
- /home/dockerdata/rocketmq/broker/logs:/home/rocketmq/logs
- /home/dockerdata/rocketmq/store:/home/rocketmq/store
- /home/dockerdata/rocketmq/broker/conf/broker.conf:/opt/rocketmq-4.8.0-alpine/conf/broker.conf
command: sh mqbroker -c /opt/rocketmq-4.8.0-alpine/conf/broker.conf
#Service for console
console:
image: wujiawei0926/rocketmq-console-ng
container_name: rmqconsole
links:
- namesrv
ports:
- 19969:19969
environment:
- JAVA_OPTS=-Drocketmq.namesrv.addr=namesrv:9876 -Dcom.rocketmq.sendMessageWithVIPChannel=false
save yml file, then execute following command:
docker-compose -f docker-compose.yml up -d
How to verify RocketMQ works well
- Use
docker ps|grep rmqbroker
to find your RocketMQ broker container id. - Use
docker exec -it {container_id} ./mqadmin clusterList -n {nameserver_ip}:9876
to verify if RocketMQ broker works, for example: ```shell root$ docker exec -it 63950574b491 ./mqadmin clusterList -n 192.168.43.56:9876 OpenJDK 64-Bit Server VM warning: ignoring option PermSize=128m; support was removed in 8.0 OpenJDK 64-Bit Server VM warning: ignoring option MaxPermSize=128m; support was removed in 8.0Cluster Name #Broker Name #BID #Addr #Version #InTPS(LOAD) #OutTPS(LOAD) #PCWait(ms) #Hour #SPACE
DefaultCluster 63950574b491 0 172.17.0.3:10911 V4_3_0 0.00(0,0ms) 0.00(0,0ms) 0 429398.92 -1.0000
```
- 浏览器或curl访问
[http://localhost:19969/](http://localhost:19969/#/)
,检查console面板能否正常打开