riftbit/rabbitmq

By riftbit

Updated over 4 years ago

RabbitMQ 3.x Container based on Alpine Linux with gui and plugins (ETCD Swarm autocluster optimized)

Image
2

1M+

riftbit/rabbitmq repository overview

RabbitMQ 3.x Container based on Alpine Linux with management gui and additional plugins (prepared for ETCD Swarm auto cluster, and classic clustering)

PLUGINS

They could be enabled by ENV variable: RABBITMQ_PLUGINS_ENABLE with (space) separator

Additionally installed plugins
Plugins that included into RabbitMQ 3.8.x release

(https://www.rabbitmq.com/plugins.html)

  • rabbitmq_auth_backend_oauth2
  • rabbitmq_auth_backend_ldap
  • rabbitmq_auth_backend_http
  • rabbitmq_auth_mechanism_ssl
  • rabbitmq_auth_backend_cache
  • rabbitmq_peer_discovery_etcd
  • rabbitmq_peer_discovery_k8s
  • rabbitmq_peer_discovery_consul
  • rabbitmq_peer_discovery_aws
  • rabbitmq_top
  • rabbitmq_prometheus
  • rabbitmq_recent_history_exchange
  • rabbitmq_jms_topic_exchange
  • rabbitmq_event_exchange
  • rabbitmq_consistent_hash_exchange
  • rabbitmq_amqp1_0
  • rabbitmq_federation
  • rabbitmq_federation_management
  • rabbitmq_management
  • rabbitmq_management_agent
  • rabbitmq_mqtt
  • rabbitmq_shovel
  • rabbitmq_shovel_management
  • rabbitmq_stomp
  • rabbitmq_trust_store
  • rabbitmq_web_stomp
  • rabbitmq_web_mqtt
  • rabbitmq_web_stomp_examples
  • rabbitmq_web_mqtt_examples
Example
docker run -e RABBIT_PLUGINS_ENABLE='rabbitmq_mqtt rabbitmq_federation rabbitmq_federation_management' ....

Additional system ENV params

  • RABBIT_ETCD_ENABLE = false (set true to etcd enable!)
  • RABBIT_ETCD_HOST = etcd
  • RABBIT_ETCD_PORT = 2379
  • RABBIT_ETCD_SCHEME = http
  • RABBIT_ETCD_KEY_PREFIX = rabbitmq
  • RABBIT_ETCD_CLUSTER_NAME = cluster1
  • RABBIT_ETCD_NODE_TTL = 30
  • RABBIT_ETCD_ONLY_LOG_WARNING = false
  • RABBIT_ETCD_PARTITION_HANDLING = autoheal
Additional custom configs

To use custom config values create file /var/lib/rabbitmq/additional.config (create volume for /var/lib/rabbitmq)

Format is simple key value

Example:
cluster_formation.peer_discovery_backend rabbit_peer_discovery_classic_config
cluster_formation.classic_config.nodes.1 [email protected]
cluster_formation.classic_config.nodes.2 [email protected]
Swarm example
docker service create \
--name rabbitmq \
--mode global \
--constraint=node.labels.servicerole==queue \
-p 15672:15672 \
-p 25672:15672 \
-p 4370:15672 \
-p 5672:15672 \
-p 5671:15672 \
--network rabbit-net \
--network traefik-net \
--env RABBITMQ_DEFAULT_USER=admin \
--env RABBITMQ_DEFAULT_PASS=Passwd \
--env RABBITMQ_ERLANG_COOKIE="MY-SECRET" \
--env RABBITMQ_USE_LONGNAME=false \
--env RABBIT_ETCD_ENABLE=true \
--label traefik.port="15672" \
--label traefik.docker.network="traefik-net" \
--label traefik.enable="true" \
--label traefik.frontend.rule="Host:rabbit.services.local" \
riftbit/rabbitmq3:latest

Tag summary

Content type

Image

Digest

Size

94.8 MB

Last updated

over 4 years ago

docker pull riftbit/rabbitmq