Docker常用命令大全
Docker常用命令大全
使用Docker安装RocketMQ 能够更加方便的部署和管理,以下是基本步骤:
RocketMQ
是一个分布式的消息中间件,由NameServer
和Broker两个角色组成,是一种典型的基于发布/订阅模式的消息通信解决方案。
-
NameServer
是 RocketMQ 的命名服务,可以理解为类似于 DNS 的服务,它主要负责记录 Topic 的路由信息和 Broker 的地址信息。每个 RocketMQ 集群都必须至少有一个 NameServer,多个 NameServer 之间是无状态且平等的,因此可以通过扩容的方式实现高可用。当 Producer 或 Consumer 客户端需要发送或接收消息时,需要先向 NameServer 查询相应 Topic 的 Broker 信息,然后再与 Broker 建立连接。 -
Broker
是 RocketMQ 的消息存储和传输代理,负责消息的存储和转发。每个 Broker 负责管理若干个 Topic 的消息队列,同时支持主从复制和多 Master 架构,并且通过存储级别来控制消息在 Broker 上的存储时间和存储方式。Broker 之间也可通过合作来提高消息处理效率和集群的容错能力。
NameServer
和 Broker
之间通过心跳检测机制进行通信,以保证 NameServer 可以及时更新 Broker 的状态信息,Broker 也可以获取最新的 Topic 路由信息。在 RocketMQ 中,通过配置 Broker 的 namesrvAddr 参数来指定所属的 NameServer 地址。
因此,NameServer 和 Broker 是密不可分且相互协作的,通过它们的配合来实现 RocketMQ 的消息传输与处理。
1、拉取RocketMQ 镜像:
docker pull rocketmqinc/rocketmq
2、运行RocketMQ 实例:
在运行实例之前,需要创建一个存储目录,用于保存RocketMQ 的数据和日志。例如:
mkdir /opt/rocketmq/data
mkdir /opt/rocketmq/logs
然后,使用以下命令来启动RocketMQ 实例:
docker run -d --name rmqnamesrv -p 9876:9876 -v /opt/rocketmq/data:/root/rocketmq/data -v /opt/rocketmq/logs:/root/rocketmq/logs rocketmqinc/rocketmq sh mqnamesrv
这将在后台启动名字服务器,并将其映射到主机的9876
端口。将/opt/rocketmq/data
和/opt/rocketmq/logs
目录分别挂载到容器内的/root/rocketmq/data
和/root/rocketmq/logs
目录中,以便宿主机可以访问RocketMQ的数据和日志。
接下来,使用以下命令来启动Broker实例:
docker run -d --name rmqbroker --link rmqnamesrv:namesrv -e "NAMESRV_ADDR=127.0.0.1:9876" -p 10911:10911 -p 10909:10909 -v /opt/rocketmq/data:/root/rocketmq/data -v /opt/rocketmq/logs:/root/rocketmq/logs rocketmqinc/rocketmq sh mqbroker -c /opt/rocketmq/conf/broker.conf
这将在后台启动Broker实例,并将其映射到主机的10911
和10909
端口。将/opt/rocketmq/data
和/opt/rocketmq/logs
目录分别挂载到容器内的/root/rocketmq/data
和/root/rocketmq/logs
目录中,以便容器可以访问RocketMQ的数据和日志,并且配置 Broker
的 NAMESRV_ADDR
参数来指定所属的 NameServer
地址。
注意:在上述命令中,我们使用了–link参数将名字服务器容器链接到Broker容器。还要将名字服务器的地址设置为NAMESRV_ADD
R环境变量,并将其设置为namesrv:9876
,以便Broker容器可以正确访问名字服务器。
3、测试RocketMQ :
通过 RocketMQ 的控制台或者命令行等方式进行测试,确保 RocketMQ 正常运行。例如,可以使用 mqadmin 工具进行简单的测试,示例如下:文章来源:https://www.toymoban.com/news/detail-533961.html
docker run --rm rocketmqinc/rocketmq:4.9.1 sh mqadmin clusterList -n 127.0.0.1:9876
以上是Docker安装RocketMQ 的基本步骤,具体的细节还需要参考官方文档。文章来源地址https://www.toymoban.com/news/detail-533961.html
到了这里,关于使用 Docker 安装 RocketMQ 使用 docker 安装 rocketmq的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!