web-dev-qa-db-ja.com

rabbitmqdockerコンテナ.erlang.cookieがRABBITMQ_ERLANG_COOKIE環境変数から設定されていません

私はawsコンテナサービスでrabbitmqクラスターをセットアップしようとしています。すべてのノードで/var/lib/rabbitmq/.erlang.cookieを同じにする必要があります。したがって、実行時にすべてのrabbitmqコンテナーについて、RABBITMQ_ERLANG_COOKIE環境変数を渡します。これは、ここのドキュメントによると https://hub.docker.com/_/rabbitmq/ と書く必要があります。 /var/lib/rabbitmq/.erlang.cookieに。

実行中のコンテナを調べると、環境変数RABBITMQ_ERLANG_COOKIE=QOKWQHQKXXTBIEAOPWKEが存在することがわかりますが、cat /var/lib/rabbitmq/.erlang.cookieの場合、別の値AYMNAPKRPCPJVPFYAJZXを取得します。

その結果、すべてのrabbitmqコンテナーは異なる.erlang.cookieを持ち、クラスターを形成できません。

環境変数からのCookieが設定されていないのはなぜですか?ここで何が欠けているのでしょうか?

私はrabbitmq:3.6.9を使用しています-高山の画像。

6
raitisd

非常によく似た問題を検索するとこのスレッドに遭遇しますが、環境変数はERLANG_COOKIEです。RABBITMQ_ERLANG_COOKIEを使用するように変更した後、それは魅力のように機能しています

これが私のdocker-composeについてrabbitmqです。$ {Host}は、docker-compose.ymlと同じフォルダーにある.envファイルに設定された値に置き換えられます。

rabbitmq:
  image: rabbitmq:3-management
  ports:
    - "15672:15672"
    - "25672:25672"
    - "5672:5672"
    - "4369:4369"
  environment:
    - RABBITMQ_ERLANG_COOKIE='takeMyCookies'
  hostname: "${Host}"

クッキーの値を見てください

root@prod-03:/# cat ~/.erlang.cookie
'takeMyCookies'
root@prod-03:/# cat /var/lib/rabbitmq/.erlang.cookie
'takeMyCookies'
3
delusionxb