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

创建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

### 回答1: 要安装Docker Compose的RabbitMQ,请按照以下步骤操作: 1. 首先,确保您已经安装了Docker和Docker Compose。如果没有,请先安装它们。 2. 创建一个名为docker-compose.yml的文件,并将以下内容复制到文件中: ``` version: '3' services: rabbitmq: image: rabbitmq:3-management ports: - "5672:5672" - "15672:15672" environment: RABBITMQ_DEFAULT_USER: admin RABBITMQ_DEFAULT_PASS: password ``` 3. 在终端中,导航到包含docker-compose.yml文件的目录,并运行以下命令: ``` docker-compose up -d ``` 这将启动RabbitMQ容器,并将其绑定到5672和15672端口。 4. 现在,您可以通过浏览器访问RabbitMQ管理界面,该界面位于http://localhost:15672。使用用户名“admin”和密码“password”登录。 5. 您现在已经成功安装了Docker Compose的RabbitMQ。 ### 回答2: Docker-compose 是一个用于管理多个容器的工具。而 RabbitMQ 则是一个开源消息代理系统,可以用于提供消息传递、任务分发等功能,它的特点是高效稳定,常用于分布式系统中的消息传递。 下面是安装 RabbitMQ 的步骤: 1.安装 Docker 和 docker-compose。 首先需要确保已经安装了 Docker 和 docker-compose 工具,如果没有安装,则需要先安装它们。 2.编写 docker-compose.yml 文件。 在安装 RabbitMQ 之前,需要编写一个 docker-compose.yml 文件,用于定义容器的配置信息。下面是一个示例文件: ```yaml version: '3' services: rabbitmq: image: rabbitmq:3-management-alpine ports: - "5672:5672" - "15672:15672" hostname: rabbitmq environment: RABBITMQ_DEFAULT_USER: admin RABBITMQ_DEFAULT_PASS: admin ``` 以上代码定义了一个名为 rabbitmq 的服务,使用的是 rabbitmq:3-management-alpine 镜像,这个镜像包含了 RabbitMQ 以及其管理页面。 通过 ports 字段将容器内的 5672 和 15672 端口映射到主机的这两个端口上,好让外部应用程序可以连接和访问 RabbitMQ 的管理页面。 然后通过 environment 字段,指定了 RabbitMQ 的默认用户名和密码,方便管理和访问。 3.启动 RabbitMQ 容器。 编写好 docker-compose.yml 文件之后,可以通过以下命令启动 RabbitMQ 容器: ```bash docker-compose up -d ``` 上述命令中,-d 表示在后台运行容器,如果不加该选项,则容器会在控制台中运行。 4.验证 RabbitMQ 安装是否成功。 启动 RabbitMQ 容器之后,可以使用以下命令查看容器是否正在运行: ```bash docker-compose ps ``` 输出如下信息表明容器正在运行: ```text Name Command State Ports ----------------------------------------------------------------------------------------------------- rabbitmq docker-entrypoint.sh rabbi ... Up 0.0.0.0:15672->15672/tcp, 0.0.0.0:5672->5672/tcp ``` 然后在浏览器中访问 localhost:(主机端口号) 来访问 RabbitMQ 管理页面。 到此,RabbitMQ 安装已经完成,可以开始使用它的消息传递功能了。 ### 回答3: Docker-compose是Docker的一个组件,可以通过Compose文件中定义的多个服务来运行容器,并实现容器间的通信。RabbitMQ是一种可靠的、高效的消息队列系统,可以在分布式系统中作为异步通信的重要组件。本文将介绍如何使用docker-compose安装RabbitMQ。 首先,需要安装docker和docker-compose安装方法可以参考官网教程。 接下来,在本地项目目录中创建docker-compose.yml文件,文件中定义了一个RabbitMQ服务,如下所示: version: '3' services: rabbitmq: image: rabbitmq:3-management ports: - "5672:5672" - "15672:15672" environment: - RABBITMQ_DEFAULT_USER=admin - RABBITMQ_DEFAULT_PASS=pass 在此docker-compose.yml文件中,定义了一个名为rabbitmq的服务,使用了rabbitmq:3-management镜像,并在宿主机上暴露了5672和15672端口。5672端口是RabbitMQ的AMQP协议端口,用于生产和消费消息,而15672端口是RabbitMQ的管理控制台端口,用于管理RabbitMQ服务器。 关于启动和停止RabbitMQ服务的命令分别为: docker-compose up -d docker-compose down 其中,-d参数表示后台运行,即不会阻塞控制台,您可以在启动RabbitMQ服务后使用docker-compose ps命令来查看服务运行状态。在启动服务后,可以使用默认的用户名和密码(admin/pass)来登录管理控制台。也可以使用docker-compose logs命令来查看服务日志。 到此,我们就成功安装RabbitMQ服务,从而可以在分布式系统中使用它来进行异步通信。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值