Customized build for easy clustering with LetsEncrypt's SSL
1.0K
Customized RabbitMQ container for easy clustering with LetsEncrypt's SSL
TODO: English readme
Создаём на сервере контейнер с будущей первой нодой кластера RabbitMQ:
docker run -dit -h docker-rabbitmq-01.domain.tld \
--name rabbit \
-p "4369:4369" \
-p "5671:5671" \
-p "15671:15671" \
-p "25672:25672" \
-p "35197:35197" \
-e "RABBITMQ_ERLANG_COOKIE=S0meL3ttersAndNumber5" \
-v rabbitmq_data:/var/lib/rabbitmq \
-v /opt/ssl:/opt/ssl:ro \
--restart unless-stopped \
zimniy/rabbitmq:latest
Устанавливаем политику HA для всего кластера (можно выполнять команду на любом сервере с рабочей нодой кластера RabbitMQ):
docker exec rabbit rabbitmqctl set_policy ha-all ".*" '{"ha-mode":"all", "ha-sync-mode": "automatic"}'
Аналогично первому пункту на втором сервере создаём контейнер с будущей второй нодой кластера:
docker run -dit -h docker-rabbitmq-02.domain.tld \
--name rabbit \
-p "4369:4369" \
-p "5671:5671" \
-p "15671:15671" \
-p "25672:25672" \
-p "35197:35197" \
-e "RABBITMQ_ERLANG_COOKIE=S0meL3ttersAndNumber5" \
-v rabbitmq_data:/var/lib/rabbitmq \
-v /opt/ssl:/opt/ssl:ro \
--restart unless-stopped \
zimniy/rabbitmq:latest
Здесь же, на втором сервере, начинаем сборку кластера, подключая вторую ноду к первой:
docker exec rabbit rabbitmqctl stop_app
docker exec rabbit rabbitmqctl join_cluster [email protected]
docker exec rabbit rabbitmqctl start_app
Для подключения к кластеру RabbitMQ третьей ноды (и т.д.) повторить шаги 3 и 4 на соответствующем сервере, скорректировав имя хоста при создании контейнера. Входящие в кластер ноды равнозначны, так что третью и последующие можно подключать к любым работающим.
Content type
Image
Digest
Size
86 MB
Last updated
over 7 years ago
docker pull zimniy/rabbitmq