【消息中间件】你还不会在Docker下安装RocketMQ吗?

3,610 阅读2分钟

前言

大家好,我是小郭,工欲善其事,必先利其器,在学习消息中间件-RocketMQ之前,先来准备一下学习环境的搭建,下面分享一下Docker环境中安装RocketMQ和RocketMQ-Console。

1. 在Docker中安装RocketMQ

主要五个步骤,我们就可以完成RocketMQ的搭建。

Step1: Dokcer搜索RocketMQ

docker search rocketmq

image-20220519173036925.png

Step2: 查看某一个镜像里面的所有版本

curl https://registry.hub.docker.com/v1/repositories/foxiswho/rocketmq/tags\
        | tr -d '[[]" ]' | tr '}' '\n'\
        | awk -F: -v image='foxiswho/rocketmq' '{if(NR!=NF && $3 != ""){printf("%s:%s\n",image,$3)}}'

image-20220519173614276.png

Step3: 拉取想要的版本,我在这里选择了4.7.0

docker pull foxiswho/rocketmq:4.7.0

Step4: 启动NameServer和启动Broker

docker run -d -p 9876:9876 --name rmqserver  foxiswho/rocketmq:server-4.7.0
​
docker run -d -p 10911:10911 -p 10909:10909\
        --name rmqbroker --link rmqserver:namesrv\
        -e "NAMESRV_ADDR=namesrv:9876" -e "JAVA_OPTS=-Duser.home=/opt"\
        -e "JAVA_OPT_EXT=-server -Xms128m -Xmx128m"\
        -v /conf/broker.conf:/etc/rocketmq/broker.conf \
        foxiswho/rocketmq:broker-4.7.0

image-20220519174120658.png

这里需要注意的地方有两点

第一:我们可以重新进行JVM配置参数,只需要修改JAVA_OPT_EXT就可以了。

image-20220519174434765.png

我们可以尝试对他进行修改,修改完进行重启

set "JAVA_OPT=%JAVA_OPT% -server -Xms512m -Xmx512m -Xmn512m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"

第二:broker.conf文件的映射

我们在服务器上新建一个conf文件与Docker内的做映射,这样我们只需要修改服务器上新建的conf就可以了

        -v /conf/broker.conf:/etc/rocketmq/broker.conf \

Step5: 最后安装Console

指令中我们主要修改Namesrv.add地址

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

image-20220519175634373.png

RokcetMQ-Console是官方提供的运维管理页面,用于对 RocketMQ 集群提供常用的运维功能。

小结

本篇文章是我们学习消息中间件-RocketMQ的第一篇,目的主要是为了我们后续学习RocketMQ提供一些帮助。

一图总结:

在docker下安装.png