docker-windows-指定ip启动rocketMQ及监控web
前提条件
默认电脑已经安装好了docker,以及自定义配置docker的网络;
若无请参考 https://www.helloworld.net/p/8667165341
rocket安装
rocketMQ说明
rocketMQ整个环境只需要两个images
rocketmqinc/rocketmq 以及 styletang/rocketmq-console-ng
rocketmqinc/rocketmq:有2个服务需要启动:namesrv 和 broker
styletang/rocketmq-console-ng:监控web
rocketMQ - namesrv 和 broker启动
1.搜索rocketmq镜像
### docker search rocketmq
2.拉取镜像
### docker pull rocketmqinc/rocketmq
3.启动服务
3.1启动namesrv服务
### docker run -d -p 9876:9876 -v D:/docker/mq/other/tmp/data/namesrv/logs:/root/logs -v D:/docker/mq/other/tmp/data/namesrv/store:/root/store --name rmqnamesrv -e "MAX_POSSIBLE_HEAP=100000000" --network zdd_docker_network --ip 172.18.0.2 rocketmqinc/rocketmq sh mqnamesrv
#从-v开始说明
# D:/docker/mq/other/tmp/data/namesrv/logs 日志
# D:/docker/mq/other/tmp/data/namesrv/store 存储数据
# --network zdd_docker_network --ip 172.18.0.2; zdd_docker_network自己网络名称, 172.18.0.2 自定网络中的ip
3.2 启动broker服务
需要自己根据路径创建一个broker.conf文件
着重关注 brokerIP1这个参数配置
#所属集群名字
brokerClusterName=rocketmq-cluster
#broker名字,名字可重复,为了管理,每个master起一个名字,他的slave同他,eg:Amaster叫broker-a,他的slave也叫broker-a
brokerName=broker-a
#0 表示 Master,>0 表示 Slave
brokerId=0
#此处为电脑的ip
brokerIP1 = 192.168.61.1
#在发送消息时,自动创建服务器不存在的topic,默认创建的队列数
defaultTopicQueueNums=8
#是否允许 Broker 自动创建Topic,建议线下开启,线上关闭
autoCreateTopicEnable=true
#是否允许 Broker 自动创建订阅组,建议线下开启,线上关闭
autoCreateSubscriptionGroup=true
#Broker 对外服务的监听端口,
listenPort=10911
#删除文件时间点,默认凌晨 4点
deleteWhen=04
#文件保留时间,默认 48 小时
fileReservedTime=48
#commitLog每个文件的大小默认1G
mapedFileSizeCommitLog=1073741824
#ConsumeQueue每个文件默认存30W条,根据业务情况调整
mapedFileSizeConsumeQueue=300000
destroyMapedFileIntervalForcibly=120000
redeleteHangedFileInterval=120000
#限制的消息大小
maxMessageSize=65536
flushCommitLogLeastPages=4
flushConsumeQueueLeastPages=2
flushCommitLogThoroughInterval=10000
flushConsumeQueueThoroughInterval=60000
#Broker 的角色
brokerRole=ASYNC_MASTER
#刷盘方式
flushDiskType=ASYNC_FLUSH
checkTransactionMessageEnable=false
#发消息线程池数量
sendMessageTreadPoolNums=128
#拉消息线程池数量
pullMessageTreadPoolNums=128
启动服务命令
### docker run -d -p 10911:10911 -p 10909:10909 -v D:/docker/mq/other/tmp/data/broker/logs:/root/logs -v D:/docker/mq/other/tmp/data/broker/store:/root/store -v D:/docker/mq/other/tmp/conf/broker.conf:/opt/rocketmq/conf/broker.conf --name rmqbroker --link rmqnamesrv:namesrv -e "NAMESRV_ADDR=namesrv:9876" -e "MAX_POSSIBLE_HEAP=200000000" --network zdd_docker_network --ip 172.18.0.3 rocketmqinc/rocketmq sh mqbroker -c /opt/rocketmq/conf/broker.conf
#着重关注这个路径
#D:/docker/mq/other/tmp/conf/broker.conf 此为conf配置文件
rocketmq控制台
1.搜索rocketmq-console
### docker search rocketmq-console
2.拉取镜像
### docker pull styletang/rocketmq-console-ng
3.后台运行
### docker run -d -e "JAVA_OPTS=-Drocketmq.config.namesrvAddr=172.18.0.2:9876 -Drocketmq.config.isVIPChannel=false" -p 9999:8080 -t --name rmConsole --network zdd_docker_network --ip 172.18.0.4 styletang/rocketmq-console-ng
注意:Drocketmq.config.namesrvAddr=172.18.0.2:9876 中的172.18.0.2 为namesrv服务启动时指定的docker网络ip
4.网页访问 RocketMq-console-ng