首页 > 其他分享 >docker 部署 rabbitmq 集群

docker 部署 rabbitmq 集群

时间:2024-01-15 17:34:13浏览次数:24  
标签:-- rabbitmq DEFAULT rabbitmqctl 集群 RABBITMQ docker

 

单机部署

docker run -id -p 15672:15672 -p 56732:5672 \
--name rabbitmq \
--restart always \
-v /docker/rabbitmq:/var/lib/rabbitmq \
-e RABBITMQ_DEFAULT_USER=admin \
-e RABBITMQ_DEFAULT_PASS=****** \
rabbitmq:3.12.0-management

 

集群部署

 

#node01
docker run -id -p 15673:15672 -p 5673:5672 \
--name rabbitmqNode01 \
--hostname=node01 \
--restart always \
-v /docker/rabbitmqCluster/rabbitmq01:/var/lib/rabbitmq \
-e RABBITMQ_DEFAULT_USER=admin \
-e RABBITMQ_DEFAULT_PASS=****** \
rabbitmq:3.12.0-management

# 把rabbitmqNode01容器中的/var/lib/rabbitmq/.erlang.cookie复制到宿主机中储存
# 集群.erlang.cookie需要一致

#node02
docker run -id -p 15674:15672 -p 5674:5672 \
--name rabbitmqNode02 \
--hostname=node02 \
--restart always \
--link rabbitmqNode01:node01 \
-v /xfgit/docker/rabbitmqCluster/rabbitmq02:/var/lib/rabbitmq \
-e RABBITMQ_DEFAULT_USER=admin \
-e RABBITMQ_DEFAULT_PASS=****** \
rabbitmq:3.12.0-management

#node03
docker run -id -p 15675:15672 -p 5675:5672 \
--name rabbitmqNode03 \
--hostname=node03 \
--restart always \
--link rabbitmqNode01:node01 \
--link rabbitmqNode02:node02 \
-v /Users/px/Documents/home/xfgit/docker/rabbitmqCluster/rabbitmq03:/var/lib/rabbitmq \
-e RABBITMQ_DEFAULT_USER=admin \
-e RABBITMQ_DEFAULT_PASS=****** \
rabbitmq:3.12.0-management


集群设置

# 进入第一个rabbitmq节点容器
docker exec -it rabbitmqNode01 /bin/bash
# rabbitmqctl stop 会将 Erlang 虚拟机关闭,rabbitmqctl stop_app只关闭RabbitMQ 服务
rabbitmqctl stop_app
# 重置节点,将 RabbitMQ 节点返回到其原始状态。
rabbitmqctl reset
# 只启动应用服务
rabbitmqctl start_app
# 退出容器
exit

# 进入第二个rabbitmq节点容器
docker exec -it rabbitmqNode02 /bin/bash
rabbitmqctl stop_app
rabbitmqctl reset
rabbitmqctl join_cluster rabbit@node01
rabbitmqctl start_app
exit

# 进入第三个rabbitmq节点容器
docker exec -it rabbitmqNode03 /bin/bash
rabbitmqctl stop_app
rabbitmqctl reset
rabbitmqctl join_cluster rabbit@node01
rabbitmqctl start_app
exit


3.查看集群状态
# 进入任一节点容器
docker exec -it rabbitmqNode01 /bin/bash
命令查看
rabbitmqctl cluster_status

4.访问以下任意一个登录查看
http://host-ip:15673
http://host-ip:15674
http://host-ip:15675

标签:--,rabbitmq,DEFAULT,rabbitmqctl,集群,RABBITMQ,docker
From: https://www.cnblogs.com/pxuan/p/17965891

相关文章

  • docker-compose 搭建 etcd 集群
    准备工作安装好docker与docker-compose下载etcd镜像:dockerpullbitnami/etcd:latest最好关闭防火墙。如果遇到外部主机能ping通linux,但是不能访问docker容器的情况,需要开启防火墙,然后再关掉防火墙,最后重启docker即可。docker-compose.ymlversion:"3.0"networks:etc......
  • linux安装docker 社区版(免费版)
    Docker分为CE和EE两大版本。CE即社区版(免费,支持周期7个月)EE即企业版,强调安全,付费使用,支持周期24个月。DockerCE分为stabletest和nightly三个更新频道。官方网站上有各种环境下的安装指南,这里主要介绍DockerCE在CentOS上的安装。1.1.卸载(可选)如果之前安装......
  • docker安装软件
    安装pg1、拉取镜像dockerpullpostgres2、创建数据卷dockervolumecreatepostgre-data3、创建并运行容器dockerrun-id--name=postgresql-vpostgre-data:/var/lib/postgresql/data-p5432:5432-ePOSTGRES_PASSWORD=123456-eLANG=C.UTF-8postgres上述设定了数......
  • docker mysql8使用SSL及使用openssl生成自定义证书
    修改my.cnfvi/docker_data/mysql/conf/my.cnf[client]default-character-set=utf8mb4[mysql]default-character-set=utf8mb4[mysqld]character-set-server=utf8mb4default_authentication_plugin=mysql_native_password#增加sslssl保存,重启mysql容器dockerrestartmysql-8.0.23......
  • Docker:InfluxDB的UI界面使用教程
    网络上的InfluxDBStudio客户端工具只适用于1.8之前的版本,所以为了更好的操作influxDB需要借助其自带的WebUI界面,本机部署访问地址:http://localhost:8086 首页常用功能:  Data:数据加载模块(LoadData),他包含策略桶管理、文件导入库、Telegraf、主动抓取任务、生成访问Token......
  • Windows10安装Docker
    一、安装DockerDesktopforWindows在官网下载DockerDesktopforWindows:https://docs.docker.com/desktop/install/windows-install/;双击下载的DockerforWindowsInstaller安装文件,一路Next,点击Finish完成安装。注意:保持默认选择“InstallrequiredWindowscompo......
  • 日常Bug排查-集群逐步失去响应
    前言日常Bug排查系列都是一些简单Bug排查。笔者将在这里介绍一些排查Bug的简单技巧,同时顺便积累素材_Bug现场最近碰到一个产线问题,表现为某个应用集群所有的节点全部下线了。导致上游调用全部报错。而且从时间线分析来看。这个应用的节点是逐步失去响应的。因为请求量较小,直到......
  • docker mysql8 忘记root密码解决方法
    使用docker搭建mysql,docker-compose.ymlversion:"2.1"services:mysql:image:mysql:8.0.35container_name:mysql8healthcheck:test:["CMD","mysqladmin","ping","-h","localhost&q......
  • Kubernetes 集群中部署项目
    在Kubernetes集群中部署项目并交付容器,通常涉及以下几个步骤:Docker镜像构建:使用Dockerfile定义应用程序的环境和依赖,然后使用DockerEngine构建出Docker镜像。可以使用一些构建工具如DockerCompose或DockerBuildx来简化构建过程。Docker镜像推送:将构建好的Docker......
  • Kubernetes 集群搭建-搭建高可用集群
    Kubernetes 集群搭建-搭建高可用集群(初始化和部署keepalived)要搭建一个高可用的Kubernetes集群,你可以使用Keepalived来实现负载均衡和故障转移。Keepalived是一个开源的高可用解决方案,它可以确保在节点故障时自动切换到备用节点,从而保证服务的连续性。以下是在搭建高可用Kuberne......