从Node.js调用RabbitMQ

kir*_*v43 1 node.js docker docker-compose

我有一个密码

在此处输入图片说明

当我尝试从nodejs连接到Rabbitmq守护程序时出现错误

在此处输入图片说明

当我在docker之外运行相同的代码时,nodejs成功连接到服务器(rabbitmq守护进程)。

如何从Node.js守护进程连接到RabbitMQ守护进程?

docker-compose配置: docker-compose-dev.yml

ard*_*lez 5

事情是这样的:如果节点应用程序和Rabbitmq都在单独的Docker容器上运行,则它们依赖Docker网络相互访问,因此节点应用程序在同一容器中查找Rabbitmq实例事实并非如此。

RabbitMQ容器的端口5672带有链接,可以通过容器的名称进行访问(根据docker compose的标准),这意味着该容器的所有暴露的端口均可在Rabbitmq:上获得。如果你改变

amqp.connect('amqp://localhost:5672');
Run Code Online (Sandbox Code Playgroud)

进入

amqp.connect('amqp://rabbitmq:5672');
Run Code Online (Sandbox Code Playgroud)

你们都很好