├── Dockerfile ├── LICENSE ├── README.md └── bin └── rabbitmq-start /Dockerfile: -------------------------------------------------------------------------------- 1 | # 2 | # RabbitMQ Dockerfile 3 | # 4 | # https://github.com/dockerfile/rabbitmq 5 | # 6 | 7 | # Pull base image. 8 | FROM dockerfile/ubuntu 9 | 10 | # Add files. 11 | ADD bin/rabbitmq-start /usr/local/bin/ 12 | 13 | # Install RabbitMQ. 14 | RUN \ 15 | wget -qO - https://www.rabbitmq.com/rabbitmq-signing-key-public.asc | apt-key add - && \ 16 | echo "deb http://www.rabbitmq.com/debian/ testing main" > /etc/apt/sources.list.d/rabbitmq.list && \ 17 | apt-get update && \ 18 | DEBIAN_FRONTEND=noninteractive apt-get install -y rabbitmq-server && \ 19 | rm -rf /var/lib/apt/lists/* && \ 20 | rabbitmq-plugins enable rabbitmq_management && \ 21 | echo "[{rabbit, [{loopback_users, []}]}]." > /etc/rabbitmq/rabbitmq.config && \ 22 | chmod +x /usr/local/bin/rabbitmq-start 23 | 24 | # Define environment variables. 25 | ENV RABBITMQ_LOG_BASE /data/log 26 | ENV RABBITMQ_MNESIA_BASE /data/mnesia 27 | 28 | # Define mount points. 29 | VOLUME ["/data/log", "/data/mnesia"] 30 | 31 | # Define working directory. 32 | WORKDIR /data 33 | 34 | # Define default command. 35 | CMD ["rabbitmq-start"] 36 | 37 | # Expose ports. 38 | EXPOSE 5672 39 | EXPOSE 15672 40 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) Dockerfile Project 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in 13 | all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | ## RabbitMQ Dockerfile 2 | 3 | 4 | This repository contains **Dockerfile** of [RabbitMQ](http://www.rabbitmq.com/) for [Docker](https://www.docker.com/)'s [automated build](https://registry.hub.docker.com/u/dockerfile/rabbitmq/) published to the public [Docker Hub Registry](https://registry.hub.docker.com/). 5 | 6 | 7 | ### Base Docker Image 8 | 9 | * [dockerfile/ubuntu](http://dockerfile.github.io/#/ubuntu) 10 | 11 | 12 | ### Installation 13 | 14 | 1. Install [Docker](https://www.docker.com/). 15 | 16 | 2. Download [automated build](https://registry.hub.docker.com/u/dockerfile/rabbitmq/) from public [Docker Hub Registry](https://registry.hub.docker.com/): `docker pull dockerfile/rabbitmq` 17 | 18 | (alternatively, you can build an image from Dockerfile: `docker build -t="dockerfile/rabbitmq" github.com/dockerfile/rabbitmq`) 19 | 20 | 21 | ### Usage 22 | 23 | #### Run `rabbitmq-server` 24 | 25 | docker run -d -p 5672:5672 -p 15672:15672 dockerfile/rabbitmq 26 | 27 | #### Run `rabbitmq-server` w/ persistent shared directories. 28 | 29 | docker run -d -p 5672:5672 -p 15672:15672 -v :/data/log -v :/data/mnesia dockerfile/rabbitmq 30 | -------------------------------------------------------------------------------- /bin/rabbitmq-start: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | ulimit -n 1024 4 | chown -R rabbitmq:rabbitmq /data 5 | exec rabbitmq-server $@ 6 | --------------------------------------------------------------------------------