
使用docker运行RocketMQ
一、拉取RocketMQ镜像docker pull apache/rocketmq//选择版本拉取docker pull apache/rocketmq:4.7.1二、运行容器,启动NameServer模块Namesrv模块主要负责服务的寻址和注册,如果该模块不能够在节点中被正确定位。整个RocketMQ的node都将无法正常工作。因此,将RocketMQ的Namesrv模块启动并部署在Docke
一、拉取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吧
更多推荐
所有评论(0)