o contêiner do docker rabbitmq .erlang.cookie não está configurado a partir da variável RABBITMQ_ERLANG_COOKIE env

7

Estou tentando configurar um cluster rabbitmq com o serviço de contêiner aws. Eu preciso que o /var/lib/rabbitmq/.erlang.cookie seja o mesmo em todos os nós. Portanto, para todos os meus contêineres rabbitmq quando eles são executados, eu passo uma variável de ambiente RABBITMQ_ERLANG_COOKIE que, de acordo com a documentação aqui link deve ser escrito em /var/lib/rabbitmq/.erlang.cookie .

Quando inspeciono meu contêiner de execução, posso ver que a variável de ambiente RABBITMQ_ERLANG_COOKIE=QOKWQHQKXXTBIEAOPWKE está presente, mas quando eu cat /var/lib/rabbitmq/.erlang.cookie obtenho um valor diferente AYMNAPKRPCPJVPFYAJZX .

Como resultado, todos os contêineres rabbitmq têm diferentes .erlang.cookie e não podem formar um cluster.

Por que o cookie da variável de ambiente não é definido? O que eu poderia estar perdendo aqui?

Estou usando a imagem rabbitmq: 3.6.9-alpine.

    
por raitisd 09.04.2017 / 11:40

1 resposta

3

Eu corri para este segmento quando a pesquisa problema muito semelhante, mas o meu env var é ERLANG_COOKIE, depois que eu mudei para usar RABBITMQ_ERLANG_COOKIE, está funcionando como um encanto

Aí vem meu docker-compose sobre rabbitmq, $ {HOST} será substituído pelo valor definido no arquivo .env que fica na mesma pasta que docker-compose.yml

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

Dê uma olhada no valor do cookie

root@prod-03:/# cat ~/.erlang.cookie
'takeMyCookies'
root@prod-03:/# cat /var/lib/rabbitmq/.erlang.cookie
'takeMyCookies'
    
por 30.08.2017 / 04:36