Связь между Rabbit Mq и Nodejs MicroService - PullRequest
0 голосов
/ 17 июня 2020

У меня есть ситуация, когда мне нужно запустить 2 контейнера rabbitMq на docker, которые должны подключаться к 2 nodejs микросервисам. Но я застрял в точке, где я могу запустить 2 контейнера rabbitmq на docker на другом порту, используя: docker run --hostname indoor-rabbitmq -d --expose 5672 -p 15672:15672 -p 5672:5672 --name indoor-rabbitmq $DOCKER_NAME, потому что, если я использую --net=host, я не могу запустить 2 контейнера на другом порту, обрабатывая независимые запросы. Проблема в том, что я не могу отправить запрос из контейнера rabbitmq из docker на микросервис, работающий на localhost, и я не могу войти в localhost:15672. Я использую auth_cache.cached_backend" "http" для входа в rabbitmq, но получаю ошибку PLAIN authentication error: failed_connect, "localhost" "9085" econnrefused. 9085 - порт, на котором работает служба аутентификации. И PLAIN authentication error: failed_connect, "localhost" "10085" econnrefused ошибка, где 10085 - это порт, на котором запущена другая служба аутентификации.

1 Ответ

0 голосов
/ 03 июля 2020

Сначала создайте сеть в docker: docker network create --subnet=172.18.0.0/16 mynet1 docker run -d --net mynet1 --ip 173.19.0.10 --hostname rabbitmq --add-host="localhost:192.168.0.21" -p 5672:5672 -p 15672:15672 --name rabbitmq rabbitmq:3-management и docker run -d --net mynet1 --ip 173.19.0.20 --hostname rabbitmq1 --add-host="localhost:192.168.0.21" -p 5673:5672 -p 15673:15672 --name rabbitmq1 rabbitmq:3-management, чтобы иметь возможность запускать 2 контейнера rabbitmq на docker.

...