diff --git a/rabbitmq/README-short.txt b/rabbitmq/README-short.txt new file mode 100644 index 000000000..d0ddddeea --- /dev/null +++ b/rabbitmq/README-short.txt @@ -0,0 +1 @@ +RabbitMQ is a highly reliable enterprise messaging system based on the emerging AMQP standard diff --git a/rabbitmq/README.md b/rabbitmq/README.md new file mode 100644 index 000000000..e69de29bb diff --git a/rabbitmq/content.md b/rabbitmq/content.md new file mode 100644 index 000000000..2a79f5e19 --- /dev/null +++ b/rabbitmq/content.md @@ -0,0 +1,61 @@ +# What is RabbitMQ? + +RabbitMQ is open source message broker software (sometimes called +message-oriented middleware) that implements the Advanced Message Queuing +Protocol (AMQP). The RabbitMQ server is written in the Erlang programming +language and is built on the Open Telecom Platform framework for clustering and +failover. Client libraries to interface with the broker are available for all +major programming languages. + +> [wikipedia.org/wiki/RabbitMQ](https://en.wikipedia.org/wiki/RabbitMQ) + +%%LOGO%% + +# How to use this image + +## Running the daemon + +One of the important things to note about RabbitMQ is that it stores data based +on what it calls the "Node Name", which defaults to the hostname. What this +means for usage in Docker is that we should either specify `-h`/`--hostname` or +`-e RABBITMQ_NODENAME=...` explicitly for each daemon so that we don't get a +random hostname and can keep track of our data: + + docker run -d -e RABBITMQ_NODENAME=my-rabbit --name some-rabbit rabbitmq:3 + +If you give that a minute, then do `docker logs some-rabbit`, you'll see in the +output a block similar to: + + =INFO REPORT==== 31-Dec-2014::23:21:09 === + node : my-rabbit@988c28b0eb2e + home dir : /var/lib/rabbitmq + config file(s) : /etc/rabbitmq/rabbitmq.config (not found) + cookie hash : IFQiLgiJ4goGJrdsLJvN7A== + log : undefined + sasl log : undefined + database dir : /var/lib/rabbitmq/mnesia/my-rabbit + +Note the `database dir` there, especially that it has my `RABBITMQ_NODENAME` +appended to the end for the file storage. This image makes all of +`/var/lib/rabbitmq` a volume by default. + +### 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`: + + docker run -d -e RABBITMQ_NODENAME=my-rabbit --name some-rabbit rabbitmq:3-management + +You can access it by visiting `http://container-ip:15672` in a browser or, if +you need access outside the host, on port 8080: + + docker run -d -e RABBITMQ_NODENAME=my-rabbit --name some-rabbit -p 8080:15672 rabbitmq:3-management + +You can then go to `http://localhost:8080` or `http://host-ip:8080` in a +browser. + +## Connecting to the daemon + + docker run --name some-app --link some-rabbit:rabbit -d application-that-uses-rabbitmq diff --git a/rabbitmq/license.md b/rabbitmq/license.md new file mode 100644 index 000000000..1962af7d6 --- /dev/null +++ b/rabbitmq/license.md @@ -0,0 +1,2 @@ +View [license information](https://www.rabbitmq.com/mpl.html) for the software +contained in this image. diff --git a/rabbitmq/logo.png b/rabbitmq/logo.png new file mode 100644 index 000000000..b4979d9ac Binary files /dev/null and b/rabbitmq/logo.png differ