diff --git a/Dockerfile b/Dockerfile index a5c60b3..87f4f52 100644 --- a/Dockerfile +++ b/Dockerfile @@ -7,10 +7,8 @@ # Pull base image. FROM dockerfile/ubuntu -# Add files. -ADD bin/rabbitmq-start /usr/local/bin/ - -# Install RabbitMQ. +# Install RabbitMQ. Explicitly create data directories with rabbitmq as owner. +# See http://stackoverflow.com/questions/26145351/why-doesnt-chown-work-in-dockerfile. RUN \ wget -qO - https://www.rabbitmq.com/rabbitmq-signing-key-public.asc | apt-key add - && \ echo "deb http://www.rabbitmq.com/debian/ testing main" > /etc/apt/sources.list.d/rabbitmq.list && \ @@ -19,7 +17,10 @@ RUN \ rm -rf /var/lib/apt/lists/* && \ rabbitmq-plugins enable rabbitmq_management && \ echo "[{rabbit, [{loopback_users, []}]}]." > /etc/rabbitmq/rabbitmq.config && \ - chmod +x /usr/local/bin/rabbitmq-start + ulimit -n 1024 && \ + mkdir -p /data/log && \ + mkdir -p /data/mnesia && \ + chown -R rabbitmq:rabbitmq /data # Define environment variables. ENV RABBITMQ_LOG_BASE /data/log @@ -32,7 +33,7 @@ VOLUME ["/data/log", "/data/mnesia"] WORKDIR /data # Define default command. -CMD ["rabbitmq-start"] +ENTRYPOINT /usr/sbin/rabbitmq-server # Expose ports. EXPOSE 5672 diff --git a/bin/rabbitmq-start b/bin/rabbitmq-start deleted file mode 100644 index 20853f0..0000000 --- a/bin/rabbitmq-start +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/bash - -ulimit -n 1024 -chown -R rabbitmq:rabbitmq /data -exec rabbitmq-server $@