欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  网络运营

Docker中RocketMQ的安装与使用详解

程序员文章站 2022-04-10 22:41:02
搜索rocketmq的镜像,可以通过docker的hub.docker.com上进行搜索,也可以在linux下通过docker的search命令进行搜索,不过最近防火墙升级...

搜索rocketmq的镜像,可以通过docker的hub.docker.com上进行搜索,也可以在linux下通过docker的search命令进行搜索,不过最近防火墙升级后,导致国外的网站打开都很慢,通过命令搜索反而会更加方便,操作docker命令一定要是root用户或者具有root权限的用户。查询操作如下:

docker search rocketmq

可以得到如下的结果:

Docker中RocketMQ的安装与使用详解 

镜像倒是蛮多的,不过看来看去没有一个是官方发布的,我就随便选一个吧,如foxiswho/rocketmq,以下是一个查看当前镜像所有的版本shell命令:

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)}}'

如果要查看其它的镜像,只需要将其中的镜像名称foxiswho/rocketmq替换为其它镜像即可,执行该命令得到大致如下结果:

Docker中RocketMQ的安装与使用详解

下面的就是分步启动nameserver和broker。

启动nameserver:

docker run -d -p 9876:9876 --name rmqserver foxiswho/rocketmq:server-4.5.1

启动broker:

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"\
 foxiswho/rocketmq:broker-4.5.1

broker容器中默认的配置文件的路径为:

/etc/rocketmq/broker.conf

也可以通过-v参数指定本机的配置文件:

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.5.1

如果一切正常,nameserver和broker一会儿就会安装好,为了管理上的方便,rocketmq console也是必不可少的工具了,通过上面查询的方式找到需要启动的版本,启动方式如下:

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

然后通过如下命令检查一下启动情况:

docker ps|grep rocketmq

结果如下:

Docker中RocketMQ的安装与使用详解

再通过浏览器访问localhost:8180,console的页面显示如下:

Docker中RocketMQ的安装与使用详解 

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。