From 3cc3fbe80998ea1a1172a27cca8605f0aa851957 Mon Sep 17 00:00:00 2001 From: Tianon Gravi Date: Mon, 6 Jul 2015 13:59:55 -0700 Subject: [PATCH] Add notes about the "Erlang Cookie" for RabbitMQ --- rabbitmq/content.md | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/rabbitmq/content.md b/rabbitmq/content.md index b162c698c..a5b7f3c86 100644 --- a/rabbitmq/content.md +++ b/rabbitmq/content.md @@ -27,6 +27,28 @@ If you give that a minute, then do `docker logs some-rabbit`, you'll see in the Note the `database dir` there, especially that it has my "Node Name" appended to the end for the file storage. This image makes all of `/var/lib/rabbitmq` a volume by default. +### Erlang Cookie + +See the [RabbitMQ "Clustering Guide"](https://www.rabbitmq.com/clustering.html#erlang-cookie) for more information about cookies and why they're necessary. + +For setting a consistent cookie (especially useful for clustering but also for remote/cross-container administration via `rabbitmqctl`), use `RABBITMQ_ERLANG_COOKIE`: + + docker run -d --hostname my-rabbit --name some-rabbit -e RABBITMQ_ERLANG_COOKIE='secret cookie here' rabbitmq:3 + +This can then be used from a separate instance to connect: + + $ docker run -it --rm --link some-rabbit:my-rabbit -e RABBITMQ_ERLANG_COOKIE='secret cookie here' rabbitmq:3 bash + root@f2a2d3d27c75:/# rabbitmqctl -n rabbit@my-rabbit list_users + Listing users ... + guest [administrator] + +Alternatively, one can also use `RABBITMQ_NODENAME` to make repeated `rabbitmqctl` invocations simpler: + + $ docker run -it --rm --link some-rabbit:my-rabbit -e RABBITMQ_ERLANG_COOKIE='secret cookie here' -e RABBITMQ_NODENAME=rabbit@my-rabbit rabbitmq:3 bash + root@f2a2d3d27c75:/# rabbitmqctl list_users + Listing users ... + guest [administrator] + ### Management Plugin There is a second set of tags provided with the [management plugin](https://www.rabbitmq.com/management.html) installed and enabled by default, which is available on the standard management port of 15672, with the default username and password of `guest` / `guest`: