安装docker
网上很多教程了,简单的可以用宝塔直接安装docker。
搜索镜像
docker search rocketmq
看到还是有很多镜像:
选择第一个吧,rocketmqinc/rocketmq
拉取镜像
docker pull rocketmqinc/rocketmq
启动服务
rocketmq 有2个服务需要启动:namesrv 和 broker
1 启动namesrv服务
docker run -d -p 9876:9876 -v `pwd`/data/namesrv/logs:/root/logs -v `pwd`/data/namesrv/store:/root/store --name rmqnamesrv -e "MAX_POSSIBLE_HEAP=100000000" rocketmqinc/rocketmq:4.4.0 sh mqnamesrv
2 启动broker服务
docker run -d -p 10911:10911 -p 10909:10909 -v `pwd`/data/broker/logs:/root/logs -v `pwd`/data/broker/store:/root/store --name rmqbroker --link rmqnamesrv:namesrv -e "NAMESRV_ADDR=namesrv:9876" -e "MAX_POSSIBLE_HEAP=200000000" rocketmqinc/rocketmq:4.4.0 sh mqbroker
注:pwd 为执行命令的当前目录,可以换成一个绝对路径。
如果没有错误,执行 docker ps,可以看到两个容器都在运行中:
安装Rocketmq控制台
可以安装一个控制台,查看和管理rocketmq中的消息等。
运行如下命令获取可用控制台
docker search rocketmq-console
搜索出来的结果:
安装第一个stars最多的styletang/rokcetmq-console-ng
docker pull styletang/rocketmq-console-ng
启动容器
docker run -e "JAVA_OPTS=-Drocketmq.namesrv.addr=127.0.0.1:9876 -Dcom.rocketmq.sendMessageWithVIPChannel=false" -p 8080:8080 -t styletang/rocketmq-console-ng
注意:这里因为我们用了docker,所以namesrv.addr需要换成docker容器的ip
获取docker容器的ip,进入到rmqnamesrv容器中,执行下面命令:
docker exec -it rmqnamesrv bash
cat /etc/hosts
这里换成:172.17.0.2
替换 namesrv.addr 后,启动控制台,访问 {你的IP}:8080