【发布时间】:2016-10-20 08:07:26
【问题描述】:
我有密码
当我尝试从 nodejs 连接到 rabbitmq 守护进程时出现错误
当我在 docker 之外运行相同的代码时,nodejs 成功连接到服务器(rabbitmq 守护进程)。
如何从 nodejs 守护进程连接到 rabbitmq 守护进程?
【问题讨论】:
标签: node.js docker docker-compose
我有密码
当我尝试从 nodejs 连接到 rabbitmq 守护进程时出现错误
当我在 docker 之外运行相同的代码时,nodejs 成功连接到服务器(rabbitmq 守护进程)。
如何从 nodejs 守护进程连接到 rabbitmq 守护进程?
【问题讨论】:
标签: node.js docker docker-compose
事情是这样的:如果 node 应用程序和 rabbitmq 都运行在不同的 docker 容器上,它们依赖 docker 网络来相互访问,所以 node 应用程序在同一个容器中寻找 rabbitmq 实例 ,但事实并非如此。
RabbitMQ 容器的端口 5672 通过链接公开,可以通过容器名称访问(根据 docker compose 的标准),这意味着该容器的所有公开端口都可以在 rabbitmq: 上使用。如果你改变了
amqp.connect('amqp://localhost:5672');
进入
amqp.connect('amqp://rabbitmq:5672');
你们都很好。
【讨论】: