首页 > 其他分享 >Docker部署RocketMQ

Docker部署RocketMQ

时间:2023-03-21 17:13:42浏览次数:34  
标签:容器 rmqnamesrv 部署 broker -- RocketMQ Docker docker rocketmq

为容器网络互联创建RocketMQ的docker网络

# 后续的name-server,broker,rocketmq-console都会使用该网络
docker network create rocketmq

# 创建好网络可以使用docker inspect命令查看网络信息
docker inspect rocketmq

部署name-server

# 无须先pull镜像,docker run之前会自动下载镜像
# -v : 左侧的文件夹路径需要自己去创建
docker run -d --name rmqnamesrv -p 9876:9876 \ --privileged=true \ --network rocketmq \ -v /data/rocketmq/namesrv/logs:/root/logs \ -v /data/rocketmq/namesrv/store:/root/store \ -e "MAX_POSSIBLE_HEAP=100000000" \ rocketmqinc/rocketmq sh mqnamesrv autoCreateTopicEnable=true

参数说明

--name rmqnamesrv:指定容器名称为rmqnamesrv,注意这个名字,后续会使用。
--network rocketmq:为容器指定网络为rocketmq,同一网络下的容器能够通过容器名称互通。
--privileged=true:如果使用-v映射了目录,则使用该参数获取文件访问权限

查看启动成功后的日志,有success说明成功了:

docker logs -f rmqnamesrv

 部署broker

根据实际情况创建一个broker.conf文件,然后将以下内容写入到broker.conf文件中(记得修改brokerIP1的值为宿主机的ip地址)

brokerClusterName = DefaultCluster
brokerName=broker-a
brokerId=0
deleteWhen=04
fileReservedTime=48
brokerRole=ASYNC_MASTER
flushDiskType=ASYNC_FLUSH
brokerIP1=192.168.81.120

部署broker

# 无须先pull镜像,docker run之前会自动下载镜像
# -v : 左侧的文件夹路径根据自己的实际情况去创建修改
docker run -d --name rmqbroker -p 10911:10911 -p 10909:10909 \ --privileged=true \ --network rocketmq \ -v /data/rocketmq/broker/logs:/root/logs \ -v /data/rocketmq/broker/store:/root/store \ -v /data/rocketmq/broker/conf/broker.conf:/opt/rocketmq/conf/broker.conf \ -e "NAMESRV_ADDR=rmqnamesrv:9876" -e "MAX_POSSIBLE_HEAP=200000000" \ rocketmqinc/rocketmq sh mqbroker autoCreateTopicEnable=true -c /opt/rocketmq/conf/broker.conf

参数说明

--network rocketmq:为容器指定网络为rocketmq,同一网络下的容器能够通过容器名称互通。
-e "NAMESRV_ADDR=rmqnamesrv:9876":此处的rmqnamesrv就是容器name-server的名称

查看启动成功后的日志,有success说明成功了:

docker logs -f rmqbroker

下面来验证一下容器内部是否能够通过容器名称进行网络互联。
验证思路为从一个容器内部ping另一个容器,看是否能够ping通。

# 进入broker容器
docker exec -it rmqbroker /bin/bash

# ping name-server的容器名称
ping rmqnamesrv

部署console

# 同样在启动的时候指定同一个network
# 注意修改rocketmq.namesrv.addr后面的地址为容器名称:端口号

docker run -d --name rmqconsole -p 9870:8080 --network rocketmq \
 -e "JAVA_OPTS=-Drocketmq.namesrv.addr=rmqnamesrv:9876" styletang/rocketmq-console-ng

访问控制台

 

转载自简书

作者:Torture
链接:https://www.jianshu.com/p/e8bd3d1a5777

 

标签:容器,rmqnamesrv,部署,broker,--,RocketMQ,Docker,docker,rocketmq
From: https://www.cnblogs.com/LTQ151/p/17240528.html

相关文章

  • mac M2 coima 和 docker for desktop
    dockerfordesktopdockersocket~/.docker/run/docker.sockcolimadockersocket~/.colima/default/docker.sockdockersocket默认查找路径unix:///va......
  • 双中心部署解决方案
    双中心机房部署解决方案系统对外接入能力分为两种业务:业务能力、业务支撑。其中业务能力为央视影音客户端、IPTV、互联网电视等业务线与用户中心系统之间交互的能力接口层,......
  • web应用部署合集
    1.环境要求系统需部署Rabbitmq(3.6及以上)Redis(Redis2.8及以上)、JDK(JDK1.8或以上)、Tomcat(Tomcat8或以上)、数据库(Oracle11g或以上、DB29.7或以上、Mysql5.5或以上),并配置好......
  • datart部署、二开踩坑记录
    本人环境说明部署环境:Centos7DockerVersion23.0.1mysql5.7开发环境:win11Docker部署时应用数据库采用Mysql,Docker容器无法启动。原因在官网文档中第一个步骤......
  • docker 容器内互联
    1.容器互联格式为--linkname:alias(1.)创建源容器使用dockerrun命令建立容器A,使用–name指定容器名称为web1[root@consul~]#dockerrun-d-P--nameweb1httpd4c......
  • docker安装elasticsearch7.6.2
    #环境准备(以vmware为例)1.docker镜像源设置为aliyun2.cpu设置值>1#安装步骤1.安装dockercurl-sSLhttps://get.daocloud.io/docker|sh2.下载es7镜像dockerpull......
  • Docker镜像使用node-gyp
    #syntax=docker/dockerfile:1FROMnode:18-alpineENVNODE_ENV=production#重要的是这一句,安装node-gyp所需的便衣依赖即可RUNapkupdate&&apkupgrade&&ap......
  • 使用流水线插件实现持续集成、持续部署
    流水线插件是基于Rainbond插件体系扩展实现,通过插件化的方式,可以实现对Rainbond构建体系的扩展。该插件由社区合作伙伴拓维信息参与开发并贡献,底层是基于GitLabC......
  • Docker1
    title:DockerDockerDocker各种指令合集dockerversion#显示docker详细信息dockerinfo#显示docker的系统信息,包括镜像和容器的数量dockerpullxx:vers......
  • NFS 部署
    安装准备2台机器下面2台机器网络互通192.168.48.100服务端192.168.48.101客户端yuminstallnfs-utilschmod-R755/var/nfs_share_dirsystemctlenablerpcbi......