docker-compose安装rabbitmq集群镜像队列

本文详细指导如何使用docker-compose创建并管理3个RabbitMQ节点,配置集群网络、主机文件同步,实现高可用和互相访问。涉及关键步骤包括创建docker-compose.yml文件、网络设置和脚本执行。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

创建docker-compose.yml 文件

version: '3'
services:
  rabbitmq1:
    image: rabbitmq:3.8.3-management
    container_name: rabbitmq1
    restart: always
    hostname: rabbitmq1
    ports:
      - 15683:15672
      - 5683:5672
    volumes:
      - ./data1:/var/lib/rabbitmq
      - ./rabbitmq.sh:/home/rabbitmq.sh
      - ./etc/hosts:/etc/hosts
    environment:
      - RABBITMQ_DEFAULT_USER=root
      - RABBITMQ_DEFAULT_PASS=root
      - RABBITMQ_ERLANG_COOKIE=CURIOAPPLICATION
    networks:
      rabbit:
        ipv4_address: 192.168.6.2

  rabbitmq2:
    image: rabbitmq:3.8.3-management
    container_name: rabbitmq2
    restart: always
    hostname: rabbitmq2
    ports:
      - 15684:15672
      - 5684:5672
    volumes:
      - ./data2:/var/lib/rabbitmq
      - ./rabbitmq.sh:/home/rabbitmq.sh
      - ./etc/hosts:/etc/hosts
    environment:
      - RABBITMQ_DEFAULT_USER=root
      - RABBITMQ_DEFAULT_PASS=root
      - RABBITMQ_ERLANG_COOKIE=CURIOAPPLICATION
    networks:
      rabbit:
        ipv4_address: 192.168.6.3

  rabbitmq3:
    image: rabbitmq:3.8.3-management
    container_name: rabbitmq3
    restart: always
    hostname: rabbitmq3
    ports:
      - 15692:15672
      - 5692:5672
    volumes:
      - ./data3:/var/lib/rabbitmq
      - ./rabbitmq.sh:/home/rabbitmq.sh
      - ./etc/hosts:/etc/hosts
    environment:
      - RABBITMQ_DEFAULT_USER=root
      - RABBITMQ_DEFAULT_PASS=root
      - RABBITMQ_ERLANG_COOKIE=CURIOAPPLICATION
    networks:
      rabbit:
        ipv4_address: 192.168.6.4

networks:
  rabbit:
    external:
      name: rabbitmqnet
第二步:创建 rabbitmqnet 子网

docker network create --subnet 192.168.6.1/24 rabbitmqnet

第三步:创建 rabbitmq.sh 脚本
rabbitmqctl stop_app
rabbitmqctl reset
rabbitmqctl join_cluster rabbitmq@rabbitmq1
rabbitmqctl start_app
第四步:配置docker-compose.yml文件同步目录下的 ./etc/hosts 文件(集群节点间需能互相访问,故每个集群节点的hosts文件应包含集群内所有节点的信息以保证互相解析)
192.168.6.2 rabbitmq1
192.168.6.3 rabbitmq2
192.168.6.4 rabbitmq3

第五步:docker-compose up -d 运行容器
第六步:docker exec -it rabbitmq1 bash 分别进入从节点容器(本文中从节点是 rabbitmq3,rabbitmq2),启动脚本
chmod +777 /home/rabbitmq.sh

./home/rabbitmq.sh

第七步:主从集群已经搭建好,查看集群状态 rabbitmqctl cluster_status

可以通过管控台来查看
在这里插入图片描述

第八步:设置策略

rabbitmqctl set_policy ha-all "^" '{"ha-mode":"all"}'
至此镜像队列集群搭建完成

查看当前策略

rabbitmqctl list_policies

删除策略

rabbitmqctl clear_policy ha-all

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值