- Add a post init stage to download & install rabbitmqadmin utility,
- Add hostname in compose file to fix rabbitmq persistence.
This commit is contained in:
68
Dockerfile
68
Dockerfile
@@ -17,21 +17,58 @@ LABEL maintainer=${IMG_MAINTAINER}
|
||||
|
||||
|
||||
ARG RABBITMQ_LIB=/var/lib/rabbitmq
|
||||
ARG RABBITMQ_PORT=5672
|
||||
ARG RABBITMQ_ADMIN_PORT=15672
|
||||
|
||||
#---------------------------------------------------------------------------------------------------
|
||||
ARG RABBITMQD='#!/bin/bash \n\
|
||||
\n\
|
||||
usermod -u ${RABBITMQ_UID} -s /bin/bash rabbitmq \n\
|
||||
groupmod -g ${RABBITMQ_GID} rabbitmq \n\
|
||||
\n\
|
||||
#-------------------------------------------------------------------------------------------------------------------
|
||||
ARG RABBITMQD='#!/bin/bash \n\
|
||||
\n\
|
||||
usermod -u ${RABBITMQ_UID} -s /bin/bash rabbitmq \n\
|
||||
groupmod -g ${RABBITMQ_GID} rabbitmq \n\
|
||||
\n\
|
||||
chown -R rabbitmq:rabbitmq '${RABBITMQ_LIB}' /var/log/rabbitmq /var/run/rabbitmq'
|
||||
#---------------------------------------------------------------------------------------------------
|
||||
#-------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
#---------------------------------------------------------------------------------------------------
|
||||
ARG RABBITMQD_INI='[program:rabbitmqd] \n\
|
||||
command=su - rabbitmq -c /usr/lib/rabbitmq/bin/rabbitmq-server \n\
|
||||
#-------------------------------------------------------------------------------------------------------------------
|
||||
ARG RABBITMQD_INI='[program:rabbitmqd] \n\
|
||||
command=su - rabbitmq -c /usr/lib/rabbitmq/bin/rabbitmq-server \n\
|
||||
user=root'
|
||||
#---------------------------------------------------------------------------------------------------
|
||||
#-------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
#-------------------------------------------------------------------------------------------------------------------
|
||||
ARG POSTRMQ='#!/bin/bash \n\
|
||||
\n\
|
||||
function log() { echo "$(date --rfc-3339=ns) PostRMQ: $*" | tee -a /var/log/postrmq.log; } \n\
|
||||
\n\
|
||||
log "Starting" \n\
|
||||
\n\
|
||||
for i in {30..0} \n\
|
||||
do \n\
|
||||
if curl http://127.0.0.1:'${RABBITMQ_ADMIN_PORT}'/cli/rabbitmqadmin &> /dev/null \n\
|
||||
then \n\
|
||||
break \n\
|
||||
fi \n\
|
||||
\n\
|
||||
sleep 1 \n\
|
||||
done \n\
|
||||
\n\
|
||||
if [ "$i" = 0 ] \n\
|
||||
then \n\
|
||||
log "Unable to connect to server" \n\
|
||||
else \n\
|
||||
log "Downloading rabbitmqadmin" \n\
|
||||
curl -o /usr/local/bin/rabbitmqadmin http://127.0.0.1:'${RABBITMQ_ADMIN_PORT}'/cli/rabbitmqadmin &>/dev/null \n\
|
||||
\n\
|
||||
chmod a+rx /usr/local/bin/rabbitmqadmin \n\
|
||||
fi \n\
|
||||
\n\
|
||||
log "Completed"'
|
||||
#-------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
#-------------------------------------------------------------------------------------------------------------------
|
||||
ARG POSTRMQ_INI='[program:postrmq] \n\
|
||||
command=/usr/local/sbin/postrmq'
|
||||
#-------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
|
||||
|
||||
@@ -41,11 +78,14 @@ RUN urpmi --force lksctp-tools \
|
||||
&& echo -e "${RABBITMQD}" | sed -e "s/\`/'/g" -e 's/ *$//' > /etc/init.d/rabbitmqd \
|
||||
&& chmod a+x /etc/init.d/rabbitmqd \
|
||||
&& ln -s /etc/init.d/rabbitmqd /etc/rcD.d/S40rabbitmqd \
|
||||
&& echo -e "${RABBITMQD_INI}" | sed -e "s/\`/'/g" -e 's/ *$//' > /etc/supervisord.d/rabbitmqd.ini
|
||||
&& echo -e "${RABBITMQD_INI}" | sed -e "s/\`/'/g" -e 's/ *$//' > /etc/supervisord.d/rabbitmqd.ini \
|
||||
&& echo -e "${POSTRMQ}" | sed -e "s/\`/'/g" -e 's/ *$//' > /usr/local/sbin/postrmq \
|
||||
&& chmod a+x /usr/local/sbin/postrmq \
|
||||
&& echo -e "${POSTRMQ_INI}" | sed -e 's/ *$//' > /etc/supervisord.d/postrmq.ini
|
||||
|
||||
|
||||
|
||||
VOLUME ${RABBITMQ_LIB}
|
||||
|
||||
EXPOSE 5672
|
||||
EXPOSE 15672
|
||||
EXPOSE ${RABBITMQ_ADMIN_PORT}
|
||||
EXPOSE ${RABBITMQ_ADMIN_PORT}
|
||||
|
||||
Reference in New Issue
Block a user