首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法从另一个容器化.Net核心RabbitMQ客户端连接到RabbitMQ服务器

无法从另一个容器化.Net核心RabbitMQ客户端连接到RabbitMQ服务器
EN

Stack Overflow用户
提问于 2020-08-17 22:26:09
回答 1查看 83关注 0票数 0

我已经能够设置容器化的RabbitMQ服务器,并使用基本的.NET核心客户端进入它,并使用http://localhost:15672/上的管理门户检查消息的发送和接收工作。

但当我也容器我的发送者/接收者.NET核心客户端时,我真的很沮丧,因为我无法建立连接。我已经设置了一个显式的“see网络”,因此下面的docker-compose部署中的所有容器都应该可以看到彼此。

这是我在尝试连接的发送者中得到的错误:

我的SendRabbit .NET核心应用如下所示。这段代码是在我本地的Windows10开发机器上运行的,主机是“localhost”,而RabbitMQ服务器作为一个容器运行。但当我将其更改为linux docker项目,并将主机设置为"rabbitmq",以与docker组合中的服务名称相对应时。现在,我只是在我的Sender容器中得到了终结点连接错误异常。

我还在Google Cloud Linux虚拟机上使用相同的docker-compose尝试了相同的RabbitMQ服务器和Sender Image,并得到了相同的错误。所以我不认为这是Windows 10 docker托管VM环境的问题。

我以为docker会开发和部署微服务,但事实证明,建立基本的RabbitMQ连接是一件很痛苦的事情。

我认为也许rabbitmq服务器没有启动并运行,所以可能雄心勃勃地想要放入相同的docker-compose。但是几分钟后,我检查了一下运行我的SendRabbit容器$docker --network some network sendrabbit。但我仍然收到相同的连接错误

EN

回答 1

Stack Overflow用户

发布于 2020-08-18 01:45:35

docker网络*网络!

当我检查实际的docker网络时,我有:

主机

船舶网络

rabbitship_shipnetwork

docker compose实际上在每次启动时都会创建“新”网络: rabbitship_shipnetwork,并将rabbimq服务器放在该网络上。netwrok是通过附加目录名称来命名的,名称在compsos yaml中。所以我在我的发送者中使用了错误的网络。所以我应该一直在用

$docker运行--网络rabbitship_shipnetwork发送兔

这可以很好地工作,并在rabbitmq服务器中创建消息。

所以我不认为docker-compose实际上对创建网络有很大的帮助,因为它对运行它的目录名称很敏感!我不太可能构建一个应用程序.docker文件,并从一个目录部署所有应用程序,特别是当rabbitmq必须单独启动时,在发送者和接收者可以使用它之前。

docker-compose 0

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63452916

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档