docker搭建rabbitmq镜像模式集群

717 阅读1分钟

docker 搭建 rabbitmq 集群

一、安装docker

1、用最简单的方式安装docker 直接使用官方脚本安装 (自动安装)

curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun

启动docker

sudo systemctl start docker

2、手动安装

如果之前安装了docker,则卸载旧版本,也可以不卸载,只要能用就行

sudo yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine

然后安装软件docker需要的依赖软件

sudo yum install -y yum-utils \
  device-mapper-persistent-data \
  lvm2

然后安装最新的docker

sudo yum install docker-ce docker-ce-cli containerd.io

启动

sudo systemctl start docker

二、rabbitmq

拉取rabbitmq镜像下载带控制台的mq

docker pull rabbitmq:3.8.9-management

启动镜像,网络就选择默认的bridge模式 我们直接启动三个容器 -d 表示后台运行 --hostname 设置host名称 --name 容器的别名 -p 端口映射 -e 设置erlang cookie //集群中erlang cookie 必须一致

docker run -d  --hostname devRabbit1 --name qhDevRabbit1  -p 15672:15672 -p 5672:5672 -e RABBITMQ_ERLANG_COOKIE='rabbitcookie' rabbitmq:3.8.9-management

docker run -d  --hostname devRabbit2 --name qhDevRabbit2 -p 5673:5672 --link qhDevRabbit1:devRabbit1 -e RABBITMQ_ERLANG_COOKIE='rabbitcookie' rabbitmq:3.8.9-management

docker run -d  --hostname devRabbit3 --name qhDevRabbit3 -p 5674:5672 --link qhDevRabbit1:devRabbit1 --link qhDevRabbit2:devRabbit2 -e RABBITMQ_ERLANG_COOKIE='rabbitcookie' rabbitmq:3.8.9-management

然后进入每个容器去配置集群

第一个

docker exec -it qhDevRabbit1 bash

进入容器内执行

rabbitmqctl stop_app
rabbitmqctl reset
rabbitmqctl start_app

第二个

docker exec -it qhDevRabbit2 bash

进入容器内执行

rabbitmqctl stop_app
rabbitmqctl reset
rabbitmqctl join_cluster rabbit@devRabbit1
rabbitmqctl start_app

第三个

docker exec -it qhDevRabbit3 bash

进入容器内执行

rabbitmqctl stop_app
rabbitmqctl reset
rabbitmqctl join_cluster rabbit@devRabbit1
rabbitmqctl start_app

后面两个的命令都是一样的

设置镜像队列策略任意节点执行

rabbitmqctl set_policy ha-all "^" '{"ha-mode":"all"}'

最后进入管理控制台看就行了

访问地址: http://ip:15672