kirsanv43
kirsanv43

Reputation: 358

Call rabbitmq from nodejs

i have a code

enter image description here

i'm get an error when i try to connect to rabbitmq daemon from nodejs

enter image description here

when i run same code beyond docker then nodejs successfully connect to the server(rabbitmq deamon).

How can i connect from nodejs deamon to rabbitmq deamon?

docker-compose config: docker-compose-dev.yml

Upvotes: 3

Views: 1449

Answers (1)

ardilgulez
ardilgulez

Reputation: 1944

Here is the thing: If both node app and the rabbitmq run on separate docker containers, they rely on docker networking to reach each other, so node app looks for a rabbitmq instance in the same container, which isn't the case.

RabbitMQ contanier has the port 5672 exposed with a link, which can be reached over the name of the container (according to the standards of docker compose), which means all the exposed ports of that container are available at rabbitmq:. If you change

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

into

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

You're all good.

Upvotes: 7

Related Questions