一、拉取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注册中心注册。文章来源:https://www.toymoban.com/news/detail-567421.html
这样就启动完成了,开始手写一个RocketMQ吧文章来源地址https://www.toymoban.com/news/detail-567421.html
到了这里,关于使用docker运行RocketMQ的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!