Вызвать rabbitmq из nodejs

#node.js #docker #docker-compose

#node.js #docker #docker-создать

Вопрос:

у меня есть код

введите описание изображения здесь

я получаю сообщение об ошибке при попытке подключиться к демону rabbitmq из nodejs

введите описание изображения здесь

когда я запускаю тот же код за пределами docker, nodejs успешно подключается к серверу (rabbitmq отключен).

Как я могу подключиться из nodejs deamon к rabbitmq deamon?

docker-создать конфигурацию: docker-compose-dev.yml

Ответ №1:

Вот в чем дело: если и приложение узла, и rabbitmq выполняются в отдельных контейнерах docker, они полагаются на сеть docker для связи друг с другом, поэтому приложение узла ищет экземпляр rabbitmq в том же контейнере, что не так.

У RabbitMQ contanier открыт порт 5672 со ссылкой, к которой можно перейти по имени контейнера (в соответствии со стандартами docker compose), что означает, что все открытые порты этого контейнера доступны в rabbitmq :. Если вы измените

 amqp.connect('amqp://localhost:5672');
  

в

 amqp.connect('amqp://rabbitmq:5672');
  

У вас все хорошо.