docker 部署 RocketMQ

1.安装nameServer

1. 搜索镜像

docker search rocketmq

2. 拉取镜像

docker pull rocketmqinc/rocketmq

 3. 创建数据目录

mkdir -p /usr/local/software/rocketmq/nameserver/logs /usr/local/software/rocketmq/nameserver/store

4. 运行docker命令

docker run -d --restart=always --name rmqnamesrv --privileged=true -p 9876:9876  -v /usr/local/software/rocketmq/nameserver/logs:/root/logs -v /usr/local/software/rocketmq/nameserver/store:/root/store -e "MAX_POSSIBLE_HEAP=100000000" rocketmqinc/rocketmq sh mqnamesrv

 参数说明:

 

参数 说明
-d 以守护进程的方式启动
--restart=always docker重启时候容器自动重启
- -name rmqnamesrv 把容器的名字设置为rmqnamesrv
-p 9876:9876 把容器内的端口9876挂载到宿主机9876上面
-v /usr/local/software/rocketmq/nameserver/logs:/root/logs 目录挂载
-v /usr/local/software/rocketmq/nameserver/store:/root/store 目录挂载
rmqnamesrv 容器的名字
-e “MAX_POSSIBLE_HEAP=100000000” 设置容器的最大堆内存为100000000
rocketmqinc/rocketmq 使用的镜像名称
sh mqnamesrv 启动namesrv服务

 

 

 

 

 

 

 2. 安装broker

1. 创建broker.conf配置文件

mkdir -p /usr/local/software/rocketmq/broker/conf

touch /usr/local/software/rocketmq/broker/conf/broker.conf

cat >> /usr/local/software/rocketmq/broker/conf/broker.conf << EOF
brokerClusterName = DefaultCluster
brokerName = broker-a
brokerId = 0
deleteWhen = 04
fileReservedTime = 48
brokerRole = ASYNC_MASTER
flushDiskType = ASYNC_FLUSH
brokerIP1 = 主机的IP
EOF

 2. 创建broker挂在目录

mkdir -p /usr/local/software/rocketmq/broker/logs /usr/local/software/rocketmq/broker/store

3. 启动broker

 docker run -d --restart=always --name rmqbroker --link rmqnamesrv:namesrv -p 10911:10911 -p 10909:10909 --privileged=true -v /usr/local/software/rocketmq/broker/logs:/root/logs -v /usr/local/software/rocketmq/broker/store:/root/store -v /usr/local/software/rocketmq/broker/conf/broker.conf:/opt/docker/rocketmq/broker.conf -e "NAMESRV_ADDR=namesrv:9876" -e "MAX_POSSIBLE_HEAP=200000000" rocketmqinc/rocketmq sh mqbroker -c /opt/docker/rocketmq/broker.conf

 参数说明:

参数 说明
-d 以守护进程的方式启动
--restart=always docker重启时候容器自动重启
--name rmqbroker 把容器的名字设置为rmqbroker
--link rmqnamesrv:namesrv 和rmqnamesrv容器通信
-p 9876:9876 把容器内的端口9876挂载到宿主机9876上面
-p 10909:10909 把容器的vip通道端口挂载到宿主机
-e “NAMESRV_ADDR=namesrv:9876” 指定namesrv的地址为本机namesrv的ip地址:9876
-e “MAX_POSSIBLE_HEAP=200000000” rocketmqinc/rocketmq sh mqbroker 指定broker服务的最大堆内存
rocketmqinc/rocketmq 使用的镜像名称
sh mqbroker -c /opt/docker/rocketmq/broker.conf 指定配置文件启动broker节点

 

 

 

 

 

 

 

 

 

 

 

 3. 安装可视化控制台

1. 拉取镜像

docker pull pangliang/rocketmq-console-ng

 

2. 控制台启动

docker run -d --restart=always --name rmqadmin -e "JAVA_OPTS=-Drocketmq.namesrv.addr=ip:9876 -Dcom.rocketmq.sendMessageWithVIPChannel=false" -p 8080:8080 pangliang/rocketmq-console-ng

参数 说明
-d 以守护进程的方式启动
--restart=always docker重启时候容器自动重启
--name rmqadmin 把容器的名字设置为rmqadmin
-e "JAVA_OPTS=-Drocketmq.namesrv.addr=ip:9876 -Dcom.rocketmq.sendMessageWithVIPChannel=false" 设置nameserver地址
-p 8080:8080 把容器内的端口8080挂载到宿主机8080上面
pangliang/rocketmq-console-ng 使用的镜像名称

 

 

 

 

 

 

 

 3. 访问验证

ip:8080

能访问到页面证明安装成功

 

4. 捐赠支持

你可以请作者喝杯咖啡表示鼓励

 

posted @ 2023-05-17 14:25  明知山有小脑斧  阅读(709)  评论(0编辑  收藏  举报