docker安装rocketmq

11 篇文章 0 订阅

拉取镜像

docker pull foxiswho/rocketmq:server-4.5.1
docker pull foxiswho/rocketmq:broker-4.5.1

单机版

创建要挂载的目录

mkdir /usr/local/rocketmq

如果没有做这一步,下面允许创建容器命令的时候也会自动创建

window下:
创建 D:\rocket_home 文件夹即可(也可以在其他盘创建,在下面的命令中修改对应的值即可)

准备好配置文件

可以去安装目录下或者源码中获取到 原始的broker.conf 文件
下面主要是列出需要修改的部分,其他配置自行查阅官方文档。
在容器部署的话,一定要配置好才可以启动,不然无法访问(很重要)

# 集群名称
brokerClusterName = DefaultCluster
# 节点名称
brokerName = broker-a
# 配置为Master接待
brokerId = 0
# 节点ip(默认会把容器的ip注册到namesrv)
brokerIP1=10.9.64.58
# 凌晨4点删除
deleteWhen = 04
fileReservedTime = 48
# 主从异步复制
brokerRole = ASYNC_MASTER
# 异步刷盘
flushDiskType = ASYNC_FLUSH
# namesrvAddr地址,集群的使用逗号分割
namesrvAddr=10.9.64.58:9876
# 自动创建topic,方便测试(生产发环境不要开放)
autoCreateTopicEnable=true
# 存储路径
storePathRootDir=D:\\rocket_home\\broker\\dataDir
# commitLog路径
storePathCommitLog=D:\\rocket_home\\broker\\dataDir\\commitlog

没有其他特别的要求的话,这个直接新建一个broker.conf,把上面的内容复制进去即可使用(存储路径修改一下)。
linux的放到 /usr/local/rocketmq/broker/conf/下
window的放到 D:\rocket_home\broker\conf
如果放到其他目录,下面的命令对应的参数修改一下即可

创建nameserver容器

docker create --name rocketmq-server  -p 9876:9876 \
-e "JAVA_OPT_EXT=-server -Xms128m -Xmx128m -Xmn128m" \
-e "JAVA_OPTS=-Duser.home=/opt" \
-v /usr/local/rocketmq/server/logs:/opt/logs \
-v /usr/local/rocketmq/server/store:/opt/store \
foxiswho/rocketmq:server-4.5.1

说明:

–name 指定容器名

-p 指定服务运行的端口

-v 映射目录或文件

window下执行的命令

docker create --name rocketmq-server -p 9876:9876 -e "JAVA_OPT_EXT=-server -Xms128m -Xmx128m -Xmn128m" -e "JAVA_OPTS=-Duser.home=/opt" -v D:\rocket_home\namesrv\logs:/root/logs -v D:\rocket_home\namesrv\store:/opt/store foxiswho/rocketmq:server-4.5.1

创建broker 容器

docker create --name rocketmq-broker -p 10911:10911 -p 10909:10909 \
-e "JAVA_OPTS=-Duser.home=/opt" \
-e "JAVA_OPT_EXT=-server -Xms128m -Xmx128m -Xmn128m" \
-v /usr/local/rocketmq/broker/logs:/opt/logs \
-v /usr/local/rocketmq/broker/store:/opt/store \
-v /usr/local/rocketmq/broker/conf/broker.conf:/opt/rocketmq-4.5.1/conf/broker.conf \
foxiswho/rocketmq:broker-4.5.1 \
sh mqbroker -c /opt/rocketmq-4.5.1/conf/broker.conf

说明:

–name 指定容器名

-p 指定服务运行的端口

-v 映射目录或文件

window下执行的命令

docker create --name rocketmq-broker -p 10911:10911 -p 10909:10909 -e "JAVA_OPTS=-Duser.home=/opt" -e "JAVA_OPT_EXT=-server -Xms128m -Xmx128m -Xmn128m" -v  D:\rocket_home\broker\logs:/opt/logs -v  D:\rocket_home\broker\store:/opt/store -v D:\rocket_home\broker\conf\broker.conf:/opt/rocketmq-4.5.1/conf/broker.conf foxiswho/rocketmq:broker-4.5.1 sh mqbroker -c /opt/rocketmq-4.5.1/conf/broker.conf

启动容器

docker start rocketmq-server rocketmq-broker

可以看一下启动日志,检查一下是不是读取了配置文件启动的。如果界面显示的是容器的ip,证明没有获取到配置,这时候外部是无法访问到这个broker的。
在这里插入图片描述

开放端口

firewall-cmd --add-port=9876/tcp --permanent 

重载入添加的端口:

firewall-cmd --reload 

rocketmq管理工具

拉取镜像

docker pull styletang/rocketmq-console-ng:1.0.0

启动容器

docker run -d --name rocketmq-console -p 8180:8080 --link rocketmq-server:namesrv\
 -e "JAVA_OPTS=-Drocketmq.namesrv.addr=namesrv:9876\
 -Dcom.rocketmq.sendMessageWithVIPChannel=false"\
 -t styletang/rocketmq-console-ng:1.0.0

说明:
–link rocketmq-server:namesrv 把容器名称宏定义为
rocketmq-server 是上面设置的 nameserver 容器的名称

window下执行的命令

docker run -d --name rocketmq-admin -p 8180:8080 --link rocketmq-server:namesrv -e "JAVA_OPTS=-Drocketmq.namesrv.addr=namesrv:9876 -Dcom.rocketmq.sendMessageWithVIPChannel=false" styletang/rocketmq-console-ng:1.0.0

开放端口

firewall-cmd --add-port=8180/tcp --permanent 

重载入添加的端口:

firewall-cmd --reload 

访问rocketmq

打开浏览器,输入http://[宿主机的ip]:8180
在这里插入图片描述
这里看到的broker的ip显示的是宿主机的,一边是ok的

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值