Docker 安装 RocketMq 容器 详细教程

  • 什么是Docker容器

一句话概括容器:容器就是将软件打包成标准化单元,以用于开发、交付和部署。

如果需要通俗的描述容器的话,我觉得容器就是一个存放东西的地方,就像书包可以装各种文具、衣柜可以放各种衣服、鞋架可以放各种鞋子一样。我们现在所说的容器存放的东西可能更偏向于应用比如网站、程序甚至是系统环境。

因为有了 Docker 容器,所以在日常开发中如果需要用到某些组件,我会选择直接使用 Docker 安装,可以省掉繁琐的环境配置流程。在我需要用的 RockerMQ时,就直接选择了用Docker安装NameServer、Broker、Console。

  • 安装RockerMq容器

操作Docker使用Docker命令时,请直接使用root用户。(如何安装Docker 请参考 https://my.oschina.net/u/4213839/blog/5064569

搜索 RocketMQ 镜像

docker search rocketmq

up-cb0a39601e218db9aade0ffeead95423e6e.png

参考一下网上的安装教程,我尝试了几个镜像,只有 foxiswho/rockermq 这个镜像安装成功。

查看一下这个镜像的所有版本 

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

up-f0c322780cac0d2a86c4adb386f9ba23642.png

我使用的时 4.5.1 这个版本,创建NameServer容器并启动,端口使用 RecketMQ 默认端口。

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

创建 broker 容器并启动,因为 Broker 有需要配置需要我们修改,所以在创建 broker 容器时,使用宿主机的配置文件,方便日后修改。

首先创建一个配置文件 

vim usr/local/rocketmq/conf/broker.conf

在配置文件内加入以下内容

    关于 brokerIP1 很多博客中说要写外网IP,因为我是 VM 中安装的 CentOS8 ,所以我这里写的是CentOS8的IP。这里一定要改,否则项目连接Broker会出现各种异常。

brokerIP1 = 192.168.109.128
listenPort = 10911
brokerClusterName = DefaultCluster
brokerName = broker-a
brokerId = 0
deleteWhen = 04
fileReservedTime = 48
brokerRole = ASYNC_MASTER
flushDiskType = ASYNC_FLUSH

然后再创建并启动 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" -v /usr/local/rocketmq/conf/broker.conf:/etc/rocketmq/broker.conf foxiswho/rocketmq:broker-4.5.1

最后再通过 docker 安装一下 RocketMQ 的可视化管理页面,当然这里也可以去把这部分代码 clone到本地,maven install 启动。个人认为使用docker更方便

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

因为宿主机8080端口被使用了,所以我这里指定了 8180 端口,可根据实际情况修改。

到此,我们通过docket命令查看一下 三个容器的状态, 如果镜像太多 可以通过grep筛选一下

docker ps -a | grep rocket

up-7615b3c29784f46c928e4bd9febdf1cca79.png

如果 status 这一列 有 Up 字样,说明容器启动成功。

访问  http://192.168.109.128:8180/

up-7bce48ecdd2e983919901b33919f50927eb.png

 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值