目录
前言
废话不多直接上干货,我负责踩坑,你负责验证。
单机版部署
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)。


5171

被折叠的 条评论
为什么被折叠?



