前言
我在用docker安装rocketmq时候,在安装broker环节中总是出现安装失败,发现网上太多复制粘贴扰乱视听,于是自己亲测,总结如下内容。
拉取镜像
docker pull foxiswho/rocketmq:server
docker pull foxiswho/rocketmq:broker
docker pull styletang/rocketmq-console-ng
使用镜像
1、启动server
docker run -d -p 9876:9876 --name rmqserver foxiswho/rocketmq:server
2、启动broker
docker run -d -p 10911:10911 -p 10909:10909 --name rmqbroker \
-v `pwd`/conf/broker.conf:/etc/rocketmq/broker.conf \
-e "JAVA_OPT_EXT=-server -Xms128m -Xmx128m -Xmn128m" \
foxiswho/rocketmq:broker
broker.conf文件中加入:
# 配置nameserver的地址,broker需要上报状态给nameserver
namesrvAddr = {内网地址}:9876
# 如果mq服务需要在外网使用则配成外网,需要在内网使用则配成内网地址
brokerIP1 = {外网地址}
3、启动可视化页面
docker run -d --name rmqconsole -p 8180:8080 --link rmqserver:namesrv\
-e "JAVA_OPTS=-Drocketmq.namesrv.addr=namesrv:9876\
-Dcom.rocketmq.sendMessageWithVIPChannel=false"\
-t styletang/rocketmq-console-ng
关于内外网地址获取方法
1、外网地址就是虚拟机分配给系统的地址(我使用的是虚拟机)
2、内网的地址获取
docker inspect -f '{{.Name}} - {{.NetworkSettings.IPAddress }}' $(docker ps -aq)
/rmqbroker - 172.17.0.3
/rmqconsole - 172.17.0.4
/rmqserver - 172.17.0.2 取此作为内网地址
可视化页面地址
http://192.168.189.141:8180/#/