【发布时间】:2020-08-18 01:45:34
【问题描述】:
我已经能够设置容器化的 RabbitMQ 服务器,并使用基本的 .NET Core 客户端访问它,并使用 http://localhost:15672/ 上的管理门户检查消息发送和接收工作。
但是,当我将我的 Sender/Receiver .NET Core 客户端容器化时,我真的很沮丧,因为我无法建立连接。我已经建立了一个明确的“shipnetwork”,所以下面的 docker-compose 部署中的所有容器都应该互相看到。
这是我在发送方尝试连接时遇到的错误:
我的 SendRabbit .NET core App 如下。这段代码在我的本地 Windows 10 开发机器上运行,在作为容器运行的 RabbitMQ 服务器上,有一个“localhost”主机。但是当我将其更改为 [linux] docker 项目并将主机设置为“rabbitmq”时,以对应 docker compose 中的服务名称。现在我只是在我的 Sender 容器中收到 Endpoint Connection 错误异常。
我还尝试在 Google Cloud Linux 虚拟机上使用相同的 docker-compose 使用相同的 RabbitMQ 服务器和 Sender Image,并得到相同的错误。所以我不认为这是 Windows 10 docker 托管 VM 环境的麻烦。
我以为 docker 会开发和部署微服务,但事实证明设置一个基本的 RabbitMQ 连接真的很痛苦。
我认为可能 rabbitmq 服务器没有启动并运行,所以可能雄心勃勃地放入相同的 docker-compose。但我已经检查过运行我的 SendRabbit 容器 $docker run --network shipnetwork sendrabbit 几分钟后。但我仍然遇到同样的连接错误
【问题讨论】:
标签: docker docker-compose rabbitmq