使用docker运行RocketMQ

一、拉取RocketMQ镜像

docker pull apache/rocketmq 
//选择版本拉取
docker pull apache/rocketmq:4.7.1

二、运行容器,启动NameServer模块

Namesrv模块主要负责服务的寻址和注册,如果该模块不能够在节点中被正确定位。
整个RocketMQ的node都将无法正常工作。
因此,将RocketMQ的Namesrv模块启动并部署在Docker容器中,通过使用–net=host参数使得容器内和宿主机在同一个网络中,可以实现在宿主机的网络环境中对Namesrv模块进行服务注册和发现。这样,就可以确保该模块能够被正确访问和使用,并从容器中接收和处理来自外部应用程序的请求和响应。

./mqnamesrv就是启动模块
docker run -d --net=host apache/rocketmq ./mqnamesrv

三、启动Broker模块

–mount source=/tmp/store,target=/home/rocketmq/store 表示将宿主机中的/tmp/store目录挂载到容器中的/home/rocketmq/store目录中,以便RocketMQ Broker可以在容器外部保存消息。这样一来,当容器被删除时,仍然可以将消息保存在宿主机中以便日后使用。

首先创建一个数据卷,以便容器和宿主机交互,共享数据

docker volume create rocketmq_tmp_store #这个会在这创建/var/lib/docker/volumes
docker run -it --net=host --mount source=rocketmq_tmp_store,target=/home/rocketmq/store apache/rocketmq ./mqbroker -n localhost:9876

./mqbroker -n localhost:9876 表示以当前目录中的 mqbroker 程序作为入口点,在容器中启动Broker代理,并指定代理将向 localhost:9876 的namesrv注册中心注册。

这样就启动完成了,开始手写一个RocketMQ吧

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值