Docker安装Rocketmq

1.拉取Rocketmq镜像

1
docker pull apache/rocketmq

2.创建网络

1
docker network create rocketmq-net

3.创建NameServer容器

1
docker run -d --name rocketmq-namesrv --network rocketmq-net -p 9876:9876 apache/rocketmq sh mqnamesrv

broker.conf文件路径:可以进入容器中查询获取,下一步会使用

4.创建Broker容器

1
docker run -d -p 10911:10911 -p 10909:10909 --name rocketmq-broker --net rocketmq-net -e "NAMESRV_ADDR=rocketmq-namesrv:9876" apache/rocketmq sh mqbroker -c /home/rocketmq/rocketmq-5.1.4/conf/broker.conf

5.创建管理页面容器(rocketmq-console)

1
docker run -d --name rocketmq-console --network rocketmq-net -e "JAVA_OPTS=-Drocketmq.namesrv.addr=rocketmq-namesrv:9876 -Dcom.rocketmq.sendMessageWithVIPChannel=false" -p 8900:8080 apacherocketmq/rocketmq-dashboard:latest

6.测试

进入容器中

1
docker exec -it <容器ID> /bin/bash

在/home/rocketmq/rocketmq-5.1.4/bin目录下通过tools.sh进行测试

1
2
3
4
5
6
7
[rocketmq@53418ea5ecb9 bin]$ pwd
/home/rocketmq/rocketmq-5.1.4/bin
[rocketmq@53418ea5ecb9 bin]$ ls
cachedog.sh controller export.sh mqbroker mqbroker.numanode0 mqbroker.numanode3 mqnamesrv mqproxy.cmd os.sh README.md runserver.cmd startfsrv.sh
cleancache.sh dledger mqadmin mqbroker.cmd mqbroker.numanode1 mqcontroller mqnamesrv.cmd mqshutdown play.cmd runbroker.cmd runserver.sh tools.cmd
cleancache.v1.sh docker-entrypoint.sh mqadmin.cmd mqbrokercontainer mqbroker.numanode2 mqcontroller.cmd mqproxy mqshutdown.cmd play.sh runbroker.sh setcache.sh tools.sh

发送消息
1
./tools.sh org.apache.rocketmq.example.quickstart.Producer
消费消息
1
./tools.sh org.apache.rocketmq.example.quickstart.Consumer