docker rabbitmq集群

452 阅读1分钟

docker rabbitmq集群

  • 准备工作
    • centos_1:192.168.168.101
    • centos_2:192.168.168.102
  • 分别安装rabbitmq

创建安装目录

mkdir /opt/rabbitmq -p
cd /opt/rabbitmq

centos_1添加docker-compose.yml

version: '3.7'

services:
  rabbitmq1:
    image: rabbitmq:3.9.13-management
    restart: always
    ports:
     - 15672:15672
     - 5672:5672
     - 25672:25672
     - 4369:4369
    extra_hosts:
     - "rabbitmq02:192.168.168.102"
    networks:
     - custom_net
    hostname: rabbitmq01
networks:
  custom_net:
    external:
      name: app_net

centos_2添加docker-compose.yml

version: '3.7'

services:
  rabbitmq1:
    image: rabbitmq:3.9.13-management
    restart: always
    ports:
     - 15672:15672
     - 5672:5672
     - 25672:25672
     - 4369:4369
    extra_hosts:
     - "rabbitmq01:192.168.168.101"
    networks:
     - custom_net
    hostname: rabbitmq02
networks:
  custom_net:
    external:
      name: app_net
  • 设置.erlang.cookie

将centos_1 rabbitmq容器中的/var/lib/rabbitmq/.erlang.cookie 文件复制到centos_2 rabbitmq容器中,使两个容器.erlang.cookie保持一致

并设置.erlang.cookie权限为chmod 600 /var/lib/rabbitmq/.erlang.cookie

  • centos_1 配置

进入rabbitmq容器

docker exec -it rabbitmq_rabbitmq1_1 bash

设置rabbitmq

rabbitmqctl stop_app
rabbitmqctl reset
rabbitmqctl start_app
  • centos_2 配置

进入rabbitmq容器

docker exec -it rabbitmq_rabbitmq1_1 bash

设置rabbitmq

rabbitmqctl stop_app
rabbitmqctl reset
rabbitmqctl join_cluster --ram rabbit@rabbitmq01
rabbitmqctl start_app
  • 策略配置

以上设置好之后,使用 http://ip:15672 进行访问,默认账号密码:guest/guest

rabbitmq-home.jpg 配置集群镜像模式

policy.jpg