#node.js #docker #docker-compose
#node.js #docker #docker-создать
Вопрос:
у меня есть код
я получаю сообщение об ошибке при попытке подключиться к демону rabbitmq из nodejs
когда я запускаю тот же код за пределами docker, nodejs успешно подключается к серверу (rabbitmq отключен).
Как я могу подключиться из nodejs deamon к rabbitmq deamon?
Ответ №1:
Вот в чем дело: если и приложение узла, и rabbitmq выполняются в отдельных контейнерах docker, они полагаются на сеть docker для связи друг с другом, поэтому приложение узла ищет экземпляр rabbitmq в том же контейнере, что не так.
У RabbitMQ contanier открыт порт 5672 со ссылкой, к которой можно перейти по имени контейнера (в соответствии со стандартами docker compose), что означает, что все открытые порты этого контейнера доступны в rabbitmq :. Если вы измените
amqp.connect('amqp://localhost:5672');
в
amqp.connect('amqp://rabbitmq:5672');
У вас все хорошо.