diff --git a/3.8-rc/alpine/Dockerfile b/3.8-rc/alpine/Dockerfile index 25b00c75..3fd68124 100644 --- a/3.8-rc/alpine/Dockerfile +++ b/3.8-rc/alpine/Dockerfile @@ -174,9 +174,9 @@ ENV RABBITMQ_DATA_DIR=/var/lib/rabbitmq RUN set -eux; \ addgroup -g 101 -S rabbitmq; \ adduser -u 100 -S -h "$RABBITMQ_DATA_DIR" -G rabbitmq rabbitmq; \ - mkdir -p "$RABBITMQ_DATA_DIR" /etc/rabbitmq /tmp/rabbitmq-ssl /var/log/rabbitmq; \ - chown -fR rabbitmq:rabbitmq "$RABBITMQ_DATA_DIR" /etc/rabbitmq /tmp/rabbitmq-ssl /var/log/rabbitmq; \ - chmod 777 "$RABBITMQ_DATA_DIR" /etc/rabbitmq /tmp/rabbitmq-ssl /var/log/rabbitmq; \ + mkdir -p "$RABBITMQ_DATA_DIR" /etc/rabbitmq /etc/rabbitmq/conf.d /tmp/rabbitmq-ssl /var/log/rabbitmq; \ + chown -fR rabbitmq:rabbitmq "$RABBITMQ_DATA_DIR" /etc/rabbitmq /etc/rabbitmq/conf.d /tmp/rabbitmq-ssl /var/log/rabbitmq; \ + chmod 777 "$RABBITMQ_DATA_DIR" /etc/rabbitmq /etc/rabbitmq/conf.d /tmp/rabbitmq-ssl /var/log/rabbitmq; \ ln -sf "$RABBITMQ_DATA_DIR/.erlang.cookie" /root/.erlang.cookie # Use the latest stable RabbitMQ release (https://www.rabbitmq.com/download.html) @@ -230,6 +230,11 @@ RUN set -eux; \ # no stale cookies rm "$RABBITMQ_DATA_DIR/.erlang.cookie" +# Enable Prometheus-style metrics by default (https://github.com/docker-library/rabbitmq/issues/419) +RUN set -eux; \ + rabbitmq-plugins enable --offline rabbitmq_prometheus; \ + echo 'management_agent.disable_metrics_collector = true' > /etc/rabbitmq/conf.d/management_agent.disable_metrics_collector.conf + # Added for backwards compatibility - users can simply COPY custom plugins to /plugins RUN ln -sf /opt/rabbitmq/plugins /plugins @@ -246,5 +251,5 @@ ENV LANG=C.UTF-8 LANGUAGE=C.UTF-8 LC_ALL=C.UTF-8 COPY docker-entrypoint.sh /usr/local/bin/ ENTRYPOINT ["docker-entrypoint.sh"] -EXPOSE 4369 5671 5672 25672 +EXPOSE 4369 5671 5672 15691 15692 25672 CMD ["rabbitmq-server"] diff --git a/3.8-rc/alpine/management/Dockerfile b/3.8-rc/alpine/management/Dockerfile index 39258d1a..f0b66308 100644 --- a/3.8-rc/alpine/management/Dockerfile +++ b/3.8-rc/alpine/management/Dockerfile @@ -2,6 +2,9 @@ FROM rabbitmq:3.8-rc-alpine RUN rabbitmq-plugins enable --offline rabbitmq_management +# make sure the metrics collector is re-enabled (disabled in the base image for Prometheus-style metrics by default) +RUN rm -f /etc/rabbitmq/conf.d/management_agent.disable_metrics_collector.conf + # extract "rabbitmqadmin" from inside the "rabbitmq_management-X.Y.Z.ez" plugin zipfile # see https://github.com/docker-library/rabbitmq/issues/207 RUN set -eux; \ diff --git a/3.8-rc/ubuntu/Dockerfile b/3.8-rc/ubuntu/Dockerfile index b5821b47..c9f7a4fe 100644 --- a/3.8-rc/ubuntu/Dockerfile +++ b/3.8-rc/ubuntu/Dockerfile @@ -185,9 +185,9 @@ ENV RABBITMQ_DATA_DIR=/var/lib/rabbitmq RUN set -eux; \ groupadd --gid 999 --system rabbitmq; \ useradd --uid 999 --system --home-dir "$RABBITMQ_DATA_DIR" --gid rabbitmq rabbitmq; \ - mkdir -p "$RABBITMQ_DATA_DIR" /etc/rabbitmq /tmp/rabbitmq-ssl /var/log/rabbitmq; \ - chown -fR rabbitmq:rabbitmq "$RABBITMQ_DATA_DIR" /etc/rabbitmq /tmp/rabbitmq-ssl /var/log/rabbitmq; \ - chmod 777 "$RABBITMQ_DATA_DIR" /etc/rabbitmq /tmp/rabbitmq-ssl /var/log/rabbitmq; \ + mkdir -p "$RABBITMQ_DATA_DIR" /etc/rabbitmq /etc/rabbitmq/conf.d /tmp/rabbitmq-ssl /var/log/rabbitmq; \ + chown -fR rabbitmq:rabbitmq "$RABBITMQ_DATA_DIR" /etc/rabbitmq /etc/rabbitmq/conf.d /tmp/rabbitmq-ssl /var/log/rabbitmq; \ + chmod 777 "$RABBITMQ_DATA_DIR" /etc/rabbitmq /etc/rabbitmq/conf.d /tmp/rabbitmq-ssl /var/log/rabbitmq; \ ln -sf "$RABBITMQ_DATA_DIR/.erlang.cookie" /root/.erlang.cookie # Use the latest stable RabbitMQ release (https://www.rabbitmq.com/download.html) @@ -248,6 +248,11 @@ RUN set -eux; \ # no stale cookies rm "$RABBITMQ_DATA_DIR/.erlang.cookie" +# Enable Prometheus-style metrics by default (https://github.com/docker-library/rabbitmq/issues/419) +RUN set -eux; \ + rabbitmq-plugins enable --offline rabbitmq_prometheus; \ + echo 'management_agent.disable_metrics_collector = true' > /etc/rabbitmq/conf.d/management_agent.disable_metrics_collector.conf + # Added for backwards compatibility - users can simply COPY custom plugins to /plugins RUN ln -sf /opt/rabbitmq/plugins /plugins @@ -264,5 +269,5 @@ ENV LANG=C.UTF-8 LANGUAGE=C.UTF-8 LC_ALL=C.UTF-8 COPY docker-entrypoint.sh /usr/local/bin/ ENTRYPOINT ["docker-entrypoint.sh"] -EXPOSE 4369 5671 5672 25672 +EXPOSE 4369 5671 5672 15691 15692 25672 CMD ["rabbitmq-server"] diff --git a/3.8-rc/ubuntu/management/Dockerfile b/3.8-rc/ubuntu/management/Dockerfile index 22766b41..201bd4b1 100644 --- a/3.8-rc/ubuntu/management/Dockerfile +++ b/3.8-rc/ubuntu/management/Dockerfile @@ -2,6 +2,9 @@ FROM rabbitmq:3.8-rc RUN rabbitmq-plugins enable --offline rabbitmq_management +# make sure the metrics collector is re-enabled (disabled in the base image for Prometheus-style metrics by default) +RUN rm -f /etc/rabbitmq/conf.d/management_agent.disable_metrics_collector.conf + # extract "rabbitmqadmin" from inside the "rabbitmq_management-X.Y.Z.ez" plugin zipfile # see https://github.com/docker-library/rabbitmq/issues/207 RUN set -eux; \ diff --git a/3.8/alpine/Dockerfile b/3.8/alpine/Dockerfile index 5b02f83f..65c83207 100644 --- a/3.8/alpine/Dockerfile +++ b/3.8/alpine/Dockerfile @@ -174,9 +174,9 @@ ENV RABBITMQ_DATA_DIR=/var/lib/rabbitmq RUN set -eux; \ addgroup -g 101 -S rabbitmq; \ adduser -u 100 -S -h "$RABBITMQ_DATA_DIR" -G rabbitmq rabbitmq; \ - mkdir -p "$RABBITMQ_DATA_DIR" /etc/rabbitmq /tmp/rabbitmq-ssl /var/log/rabbitmq; \ - chown -fR rabbitmq:rabbitmq "$RABBITMQ_DATA_DIR" /etc/rabbitmq /tmp/rabbitmq-ssl /var/log/rabbitmq; \ - chmod 777 "$RABBITMQ_DATA_DIR" /etc/rabbitmq /tmp/rabbitmq-ssl /var/log/rabbitmq; \ + mkdir -p "$RABBITMQ_DATA_DIR" /etc/rabbitmq /etc/rabbitmq/conf.d /tmp/rabbitmq-ssl /var/log/rabbitmq; \ + chown -fR rabbitmq:rabbitmq "$RABBITMQ_DATA_DIR" /etc/rabbitmq /etc/rabbitmq/conf.d /tmp/rabbitmq-ssl /var/log/rabbitmq; \ + chmod 777 "$RABBITMQ_DATA_DIR" /etc/rabbitmq /etc/rabbitmq/conf.d /tmp/rabbitmq-ssl /var/log/rabbitmq; \ ln -sf "$RABBITMQ_DATA_DIR/.erlang.cookie" /root/.erlang.cookie # Use the latest stable RabbitMQ release (https://www.rabbitmq.com/download.html) @@ -230,6 +230,11 @@ RUN set -eux; \ # no stale cookies rm "$RABBITMQ_DATA_DIR/.erlang.cookie" +# Enable Prometheus-style metrics by default (https://github.com/docker-library/rabbitmq/issues/419) +RUN set -eux; \ + rabbitmq-plugins enable --offline rabbitmq_prometheus; \ + echo 'management_agent.disable_metrics_collector = true' > /etc/rabbitmq/conf.d/management_agent.disable_metrics_collector.conf + # Added for backwards compatibility - users can simply COPY custom plugins to /plugins RUN ln -sf /opt/rabbitmq/plugins /plugins @@ -246,5 +251,5 @@ ENV LANG=C.UTF-8 LANGUAGE=C.UTF-8 LC_ALL=C.UTF-8 COPY docker-entrypoint.sh /usr/local/bin/ ENTRYPOINT ["docker-entrypoint.sh"] -EXPOSE 4369 5671 5672 25672 +EXPOSE 4369 5671 5672 15691 15692 25672 CMD ["rabbitmq-server"] diff --git a/3.8/alpine/management/Dockerfile b/3.8/alpine/management/Dockerfile index 911a7f9e..40d77e11 100644 --- a/3.8/alpine/management/Dockerfile +++ b/3.8/alpine/management/Dockerfile @@ -2,6 +2,9 @@ FROM rabbitmq:3.8-alpine RUN rabbitmq-plugins enable --offline rabbitmq_management +# make sure the metrics collector is re-enabled (disabled in the base image for Prometheus-style metrics by default) +RUN rm -f /etc/rabbitmq/conf.d/management_agent.disable_metrics_collector.conf + # extract "rabbitmqadmin" from inside the "rabbitmq_management-X.Y.Z.ez" plugin zipfile # see https://github.com/docker-library/rabbitmq/issues/207 RUN set -eux; \ diff --git a/3.8/ubuntu/Dockerfile b/3.8/ubuntu/Dockerfile index 49cdfd4a..1fb53d02 100644 --- a/3.8/ubuntu/Dockerfile +++ b/3.8/ubuntu/Dockerfile @@ -185,9 +185,9 @@ ENV RABBITMQ_DATA_DIR=/var/lib/rabbitmq RUN set -eux; \ groupadd --gid 999 --system rabbitmq; \ useradd --uid 999 --system --home-dir "$RABBITMQ_DATA_DIR" --gid rabbitmq rabbitmq; \ - mkdir -p "$RABBITMQ_DATA_DIR" /etc/rabbitmq /tmp/rabbitmq-ssl /var/log/rabbitmq; \ - chown -fR rabbitmq:rabbitmq "$RABBITMQ_DATA_DIR" /etc/rabbitmq /tmp/rabbitmq-ssl /var/log/rabbitmq; \ - chmod 777 "$RABBITMQ_DATA_DIR" /etc/rabbitmq /tmp/rabbitmq-ssl /var/log/rabbitmq; \ + mkdir -p "$RABBITMQ_DATA_DIR" /etc/rabbitmq /etc/rabbitmq/conf.d /tmp/rabbitmq-ssl /var/log/rabbitmq; \ + chown -fR rabbitmq:rabbitmq "$RABBITMQ_DATA_DIR" /etc/rabbitmq /etc/rabbitmq/conf.d /tmp/rabbitmq-ssl /var/log/rabbitmq; \ + chmod 777 "$RABBITMQ_DATA_DIR" /etc/rabbitmq /etc/rabbitmq/conf.d /tmp/rabbitmq-ssl /var/log/rabbitmq; \ ln -sf "$RABBITMQ_DATA_DIR/.erlang.cookie" /root/.erlang.cookie # Use the latest stable RabbitMQ release (https://www.rabbitmq.com/download.html) @@ -248,6 +248,11 @@ RUN set -eux; \ # no stale cookies rm "$RABBITMQ_DATA_DIR/.erlang.cookie" +# Enable Prometheus-style metrics by default (https://github.com/docker-library/rabbitmq/issues/419) +RUN set -eux; \ + rabbitmq-plugins enable --offline rabbitmq_prometheus; \ + echo 'management_agent.disable_metrics_collector = true' > /etc/rabbitmq/conf.d/management_agent.disable_metrics_collector.conf + # Added for backwards compatibility - users can simply COPY custom plugins to /plugins RUN ln -sf /opt/rabbitmq/plugins /plugins @@ -264,5 +269,5 @@ ENV LANG=C.UTF-8 LANGUAGE=C.UTF-8 LC_ALL=C.UTF-8 COPY docker-entrypoint.sh /usr/local/bin/ ENTRYPOINT ["docker-entrypoint.sh"] -EXPOSE 4369 5671 5672 25672 +EXPOSE 4369 5671 5672 15691 15692 25672 CMD ["rabbitmq-server"] diff --git a/3.8/ubuntu/management/Dockerfile b/3.8/ubuntu/management/Dockerfile index e315b696..e66d8ee5 100644 --- a/3.8/ubuntu/management/Dockerfile +++ b/3.8/ubuntu/management/Dockerfile @@ -2,6 +2,9 @@ FROM rabbitmq:3.8 RUN rabbitmq-plugins enable --offline rabbitmq_management +# make sure the metrics collector is re-enabled (disabled in the base image for Prometheus-style metrics by default) +RUN rm -f /etc/rabbitmq/conf.d/management_agent.disable_metrics_collector.conf + # extract "rabbitmqadmin" from inside the "rabbitmq_management-X.Y.Z.ez" plugin zipfile # see https://github.com/docker-library/rabbitmq/issues/207 RUN set -eux; \ diff --git a/Dockerfile-alpine.template b/Dockerfile-alpine.template index 08cd489d..71887c77 100644 --- a/Dockerfile-alpine.template +++ b/Dockerfile-alpine.template @@ -174,9 +174,9 @@ ENV RABBITMQ_DATA_DIR=/var/lib/rabbitmq RUN set -eux; \ addgroup -g 101 -S rabbitmq; \ adduser -u 100 -S -h "$RABBITMQ_DATA_DIR" -G rabbitmq rabbitmq; \ - mkdir -p "$RABBITMQ_DATA_DIR" /etc/rabbitmq /tmp/rabbitmq-ssl /var/log/rabbitmq; \ - chown -fR rabbitmq:rabbitmq "$RABBITMQ_DATA_DIR" /etc/rabbitmq /tmp/rabbitmq-ssl /var/log/rabbitmq; \ - chmod 777 "$RABBITMQ_DATA_DIR" /etc/rabbitmq /tmp/rabbitmq-ssl /var/log/rabbitmq; \ + mkdir -p "$RABBITMQ_DATA_DIR" /etc/rabbitmq /etc/rabbitmq/conf.d /tmp/rabbitmq-ssl /var/log/rabbitmq; \ + chown -fR rabbitmq:rabbitmq "$RABBITMQ_DATA_DIR" /etc/rabbitmq /etc/rabbitmq/conf.d /tmp/rabbitmq-ssl /var/log/rabbitmq; \ + chmod 777 "$RABBITMQ_DATA_DIR" /etc/rabbitmq /etc/rabbitmq/conf.d /tmp/rabbitmq-ssl /var/log/rabbitmq; \ ln -sf "$RABBITMQ_DATA_DIR/.erlang.cookie" /root/.erlang.cookie # Use the latest stable RabbitMQ release (https://www.rabbitmq.com/download.html) @@ -230,6 +230,11 @@ RUN set -eux; \ # no stale cookies rm "$RABBITMQ_DATA_DIR/.erlang.cookie" +# Enable Prometheus-style metrics by default (https://github.com/docker-library/rabbitmq/issues/419) +RUN set -eux; \ + rabbitmq-plugins enable --offline rabbitmq_prometheus; \ + echo 'management_agent.disable_metrics_collector = true' > /etc/rabbitmq/conf.d/management_agent.disable_metrics_collector.conf + # Added for backwards compatibility - users can simply COPY custom plugins to /plugins RUN ln -sf /opt/rabbitmq/plugins /plugins @@ -246,5 +251,5 @@ ENV LANG=C.UTF-8 LANGUAGE=C.UTF-8 LC_ALL=C.UTF-8 COPY docker-entrypoint.sh /usr/local/bin/ ENTRYPOINT ["docker-entrypoint.sh"] -EXPOSE 4369 5671 5672 25672 +EXPOSE 4369 5671 5672 15691 15692 25672 CMD ["rabbitmq-server"] diff --git a/Dockerfile-management.template b/Dockerfile-management.template index 01778906..fa1edfea 100644 --- a/Dockerfile-management.template +++ b/Dockerfile-management.template @@ -2,6 +2,9 @@ FROM %%FROM%% RUN rabbitmq-plugins enable --offline rabbitmq_management +# make sure the metrics collector is re-enabled (disabled in the base image for Prometheus-style metrics by default) +RUN rm -f /etc/rabbitmq/conf.d/management_agent.disable_metrics_collector.conf + # extract "rabbitmqadmin" from inside the "rabbitmq_management-X.Y.Z.ez" plugin zipfile # see https://github.com/docker-library/rabbitmq/issues/207 RUN set -eux; \ diff --git a/Dockerfile-ubuntu.template b/Dockerfile-ubuntu.template index 07ea9a8c..434e72a0 100644 --- a/Dockerfile-ubuntu.template +++ b/Dockerfile-ubuntu.template @@ -185,9 +185,9 @@ ENV RABBITMQ_DATA_DIR=/var/lib/rabbitmq RUN set -eux; \ groupadd --gid 999 --system rabbitmq; \ useradd --uid 999 --system --home-dir "$RABBITMQ_DATA_DIR" --gid rabbitmq rabbitmq; \ - mkdir -p "$RABBITMQ_DATA_DIR" /etc/rabbitmq /tmp/rabbitmq-ssl /var/log/rabbitmq; \ - chown -fR rabbitmq:rabbitmq "$RABBITMQ_DATA_DIR" /etc/rabbitmq /tmp/rabbitmq-ssl /var/log/rabbitmq; \ - chmod 777 "$RABBITMQ_DATA_DIR" /etc/rabbitmq /tmp/rabbitmq-ssl /var/log/rabbitmq; \ + mkdir -p "$RABBITMQ_DATA_DIR" /etc/rabbitmq /etc/rabbitmq/conf.d /tmp/rabbitmq-ssl /var/log/rabbitmq; \ + chown -fR rabbitmq:rabbitmq "$RABBITMQ_DATA_DIR" /etc/rabbitmq /etc/rabbitmq/conf.d /tmp/rabbitmq-ssl /var/log/rabbitmq; \ + chmod 777 "$RABBITMQ_DATA_DIR" /etc/rabbitmq /etc/rabbitmq/conf.d /tmp/rabbitmq-ssl /var/log/rabbitmq; \ ln -sf "$RABBITMQ_DATA_DIR/.erlang.cookie" /root/.erlang.cookie # Use the latest stable RabbitMQ release (https://www.rabbitmq.com/download.html) @@ -248,6 +248,11 @@ RUN set -eux; \ # no stale cookies rm "$RABBITMQ_DATA_DIR/.erlang.cookie" +# Enable Prometheus-style metrics by default (https://github.com/docker-library/rabbitmq/issues/419) +RUN set -eux; \ + rabbitmq-plugins enable --offline rabbitmq_prometheus; \ + echo 'management_agent.disable_metrics_collector = true' > /etc/rabbitmq/conf.d/management_agent.disable_metrics_collector.conf + # Added for backwards compatibility - users can simply COPY custom plugins to /plugins RUN ln -sf /opt/rabbitmq/plugins /plugins @@ -264,5 +269,5 @@ ENV LANG=C.UTF-8 LANGUAGE=C.UTF-8 LC_ALL=C.UTF-8 COPY docker-entrypoint.sh /usr/local/bin/ ENTRYPOINT ["docker-entrypoint.sh"] -EXPOSE 4369 5671 5672 25672 +EXPOSE 4369 5671 5672 15691 15692 25672 CMD ["rabbitmq-server"]