Docker部署RocketMQ
为容器网络互联创建RocketMQ的docker网络
# 后续的name-server,broker,rocketmq-console都会使用该网络 docker network create rocketmq # 创建好网络可以使用docker inspect命令查看网络信息 docker inspect rocketmq
部署name-server
# 无须先pull镜像,docker run之前会自动下载镜像
# -v : 左侧的文件夹路径需要自己去创建
docker run -d --name rmqnamesrv -p 9876:9876 \ --privileged=true \ --network rocketmq \ -v /data/rocketmq/namesrv/logs:/root/logs \ -v /data/rocketmq/namesrv/store:/root/store \ -e "MAX_POSSIBLE_HEAP=100000000" \ rocketmqinc/rocketmq sh mqnamesrv autoCreateTopicEnable=true
参数说明
--name rmqnamesrv:指定容器名称为rmqnamesrv,注意这个名字,后续会使用。
--network rocketmq:为容器指定网络为rocketmq,同一网络下的容器能够通过容器名称互通。
--privileged=true:如果使用-v映射了目录,则使用该参数获取文件访问权限
查看启动成功后的日志,有success说明成功了:
docker logs -f rmqnamesrv
部署broker
根据实际情况创建一个broker.conf文件,然后将以下内容写入到broker.conf文件中(记得修改brokerIP1的值为宿主机的ip地址)
brokerClusterName = DefaultCluster brokerName=broker-a brokerId=0 deleteWhen=04 fileReservedTime=48 brokerRole=ASYNC_MASTER flushDiskType=ASYNC_FLUSH brokerIP1=192.168.81.120
部署broker
# 无须先pull镜像,docker run之前会自动下载镜像
# -v : 左侧的文件夹路径根据自己的实际情况去创建修改
docker run -d --name rmqbroker -p 10911:10911 -p 10909:10909 \ --privileged=true \ --network rocketmq \ -v /data/rocketmq/broker/logs:/root/logs \ -v /data/rocketmq/broker/store:/root/store \ -v /data/rocketmq/broker/conf/broker.conf:/opt/rocketmq/conf/broker.conf \ -e "NAMESRV_ADDR=rmqnamesrv:9876" -e "MAX_POSSIBLE_HEAP=200000000" \ rocketmqinc/rocketmq sh mqbroker autoCreateTopicEnable=true -c /opt/rocketmq/conf/broker.conf
参数说明
--network rocketmq:为容器指定网络为rocketmq,同一网络下的容器能够通过容器名称互通。
-e "NAMESRV_ADDR=rmqnamesrv:9876":此处的rmqnamesrv就是容器name-server的名称
查看启动成功后的日志,有success说明成功了:
docker logs -f rmqbroker
下面来验证一下容器内部是否能够通过容器名称进行网络互联。
验证思路为从一个容器内部ping另一个容器,看是否能够ping通。
# 进入broker容器 docker exec -it rmqbroker /bin/bash # ping name-server的容器名称 ping rmqnamesrv
部署console
# 同样在启动的时候指定同一个network # 注意修改rocketmq.namesrv.addr后面的地址为容器名称:端口号 docker run -d --name rmqconsole -p 9870:8080 --network rocketmq \ -e "JAVA_OPTS=-Drocketmq.namesrv.addr=rmqnamesrv:9876" styletang/rocketmq-console-ng
访问控制台
转载自简书
作者:Torture
链接:https://www.jianshu.com/p/e8bd3d1a5777