公式の 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