【问题标题】:Communication between Rabbit Mq and Nodejs MicroServiceRabbit Mq 与 Nodejs 微服务之间的通信
【发布时间】:2020-06-17 18:47:43
【问题描述】:

我有一种情况,我必须在 docker 上运行 2 个 rabbitMq 容器,这些容器应该连接到 2 个 nodejs 微服务。但是我被困在一个点上,我可以在不同端口上的 docker 上运行 2 个 rabbitmq 容器,使用:docker run --hostname indoor-rabbitmq -d --expose 5672 -p 15672:15672 -p 5672:5672 --name indoor-rabbitmq $DOCKER_NAME,因为如果我使用--net=host,我不能在不同的端口上运行 2 个容器,处理独立的请求。问题是,我无法将来自 docker 的 rabbitmq 容器的请求发送到在 localhost 上运行的微服务,我也无法登录到localhost:15672。我正在使用auth_cache.cached_backend" "http" 登录rabbitmq,但我收到PLAIN authentication error: failed_connect, "localhost" "9085" econnrefused 错误。 9085 是运行身份验证服务的端口。 PLAIN authentication error: failed_connect, "localhost" "10085" econnrefused 错误,其中 10085 是另一个身份验证服务正在运行的端口。

【问题讨论】:

    标签: node.js docker rabbitmq


    【解决方案1】:

    首先在docker中创建一个网络:docker network create --subnet=172.18.0.0/16 mynet1 docker run -d --net mynet1 --ip 173.19.0.10 --hostname rabbitmq --add-host="localhost:192.168.0.21" -p 5672:5672 -p 15672:15672 --name rabbitmq rabbitmq:3-managementdocker run -d --net mynet1 --ip 173.19.0.20 --hostname rabbitmq1 --add-host="localhost:192.168.0.21" -p 5673:5672 -p 15673:15672 --name rabbitmq1 rabbitmq:3-management 能够在 docker 上运行 2 个 rabbitmq 容器。

    【讨论】:

      猜你喜欢
      • 2019-09-11
      • 2016-06-10
      • 1970-01-01
      • 2016-03-05
      • 2018-01-22
      • 1970-01-01
      • 2021-06-20
      • 2016-08-10
      • 2019-01-18
      相关资源
      最近更新 更多