RocketMQ部署单机版及集群版本(Docker部署)

目录

前言

单机版部署

1. 准备工作

2. 创建Docker网络

 3.启动NameServer

4.启动Broker

 5.启动RocketMQ控制台

集群版部署

1.启动NameServer

2.启动Broker

配置文件说明


前言

废话不多直接上干货,我负责踩坑,你负责验证。

单机版部署

1. 准备工作

确保Docker和Docker Compose已经安装。如果没有,请先进行安装。

2. 创建Docker网络
docker network create rocketmq-net

 查看Docker网络:

docker network ls

NETWORK ID     NAME               DRIVER    SCOPE
3ce16f0e7951   bridge             bridge    local
afe16f80ffc9   host               host      local
36892fa1b1bb   none               null      local
ce100504c410   rocketmq-network   bridge    local

 3.启动NameServer
docker run -d --name rmqnamesrv   --network rocketmq-network   -p 9876:9876   rocketmqinc/rocketmq   sh mqnamesrv

 输出结果:

Unable to find image 'rocketmqinc/rocketmq:latest' locally
latest: Pulling from rocketmqinc/rocketmq
a02a4930cb5d: Pull complete 
90eb47c86343: Pull complete 
43bf660f95f6: Pull complete 
7f5ca7a20245: Pull complete 
707a618112e3: Pull complete 
4b527473eafb: Pull complete 
fedd1d06c8ba: Pull complete 
27782fcf3aef: Pull complete 
Digest: sha256:b08556227ad8d169b7927f4c48335877cb10060e6781374ce5a644ea29f6fbe1
Status: Downloaded newer image for rocketmqinc/rocketmq:latest
332a6a49ef2f1caf3ec8fb597df49a03a7a91b3a552668f5bf762c19595c2a25

 参数解释:

docker run

  • docker run 命令用于创建并启动一个新的容器。
  • 在这个命令中,你可以指定容器的配置和运行时行为。

-d

  • -d 选项表示“分离模式”(detached mode),即在后台运行容器。
  • 容器启动后,你的终端不会被占用,容器会在后台继续运行。

--name rmqnamesrv

  • --name rmqnamesrv 为容器指定一个名称,这里将容器命名为 rmqnamesrv
  • 使用自定义名称可以更方便地管理和引用这个容器,比如通过名称启动、停止、查看日志等。

--network rocketmq-network

  • --network rocketmq-network 指定容器要连接的 Docker 网络,这里是 rocketmq-network
  • 这使得该容器可以通过网络中的名称(如 rmqnamesrv)与其他容器进行通信。
  • 使用自定义网络可以控制容器之间的连接范围,并启用 Docker 内置的 DNS 服务。

-p 9876:9876

  • -p 9876:9876 映射主机的端口和容器的端口。
  • 这意味着将主机的 9876 端口映射到容器的 9876 端口。
  • RocketMQ 的 NameServer 默认监听 9876 端口,因此通过这个映射,可以从主机直接访问 NameServer。

rocketmqinc/rocketmq

  • rocketmqinc/rocketmq 是所使用的 Docker 镜像名称。
  • 这个镜像包含了 RocketMQ 的安装和运行环境,官方维护的镜像通常会包含 NameServer、Broker 等组件的运行脚本。

sh mqnamesrv

  • sh mqnamesrv 是容器启动后要执行的命令。
  • 这个命令启动一个 sh 进程,并执行 mqnamesrv 脚本来启动 RocketMQ 的 NameServer。
  • mqnamesrv 是 RocketMQ 启动 NameServer 的命令。通常,RocketMQ 镜像包含这个命令,它会启动 NameServer 服务并监听在指定的端口(这里是 9876)。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值