Как включить кластеризацию контейнеров RabbitMQ Docker

У меня возникла проблема при попытке включить кластеризацию с помощью официального образа RabbitMQ Docker - https://hub.docker.com/_/rabbitmq/. я использую docker-compose чтобы начать свою инфраструктуру, и я не могу заставить "подчиненные" узлы присоединиться к кластеру. Когда я бегу rabbitmqctl cluster_status на хозяине рабов нет в списке.

Вот вывод rabbitmqctl cluster_status:

$ docker-compose exec master-rabbitmq bash
root@master-rabbitmq:/# rabbitmqctl cluster_status
Cluster status of node 'rabbit@master-rabbitmq' ...
[{nodes,[{disc,['rabbit@master-rabbitmq']}]},
 {running_nodes,['rabbit@master-rabbitmq']},
 {cluster_name,<<"rabbit@master-rabbitmq">>},
 {partitions,[]},
 {alarms,[{'rabbit@master-rabbitmq',[]}]}]

мой docker-compose.yml приведен ниже, для справки.

version: "2"
services:
  master-rabbitmq:
      image: rabbitmq:3-management
      hostname: master-rabbitmq
      environment:
        - RABBITMQ_ERLANG_COOKIE=super secret token
      ports:
        - "4369:4369"
        - "5671:5671"
        - "5672:5672"
        - "15671:15671"
        - "15672:15672"
        - "25672:25672"

  slave1-rabbitmq:
      image: rabbitmq:3-management
      hostname: slave1-rabbitmq
      links:
        - "master-rabbitmq:master-rabbitmq"
      environment:
        - RABBITMQ_ERLANG_COOKIE=super secret token

  slave2-rabbitmq:
      image: rabbitmq:3-management
      hostname: slave2-rabbitmq
      links:
        - "master-rabbitmq:master-rabbitmq"
      environment:
        - RABBITMQ_ERLANG_COOKIE=super secret token

1 ответ

Вам, скорее всего, придется бежать

rabbitmqctl join_cluster rabbit@master-rabbitmq

На каждом из подчиненных узлов

Другие вопросы по тегам