如何从 Rebus 解析 docker RabbitMq 端点

问题描述

我在 docker 容器中运行 RabbitMQ,需要从 Rebus 访问它,Rebus 也在运行,但在单独的 Docker 容器中。我使用的是 host.docker.internal 而不是 localhost。我的 RabbitMQ 容器在端口 5673 上,因此我将其设置为 Rebus 传输的连接字符串:amqp://host.docker.internal:5673

但是,当Rebus正在初始化总线实例时运行这个异常:

System.ArgumentException HResult=0x80070057 消息=无法解析 host.docker.internal 的 IP 地址 来源=RabbitMQ.Client 堆栈跟踪: 在 RabbitMQ.Client.TcpClientAdapter.d__2.MoveNext()

我也尝试将端口切换回认的 5672 并仅使用 amqp://host.docker.internal 并收到相同的异常。

解决方法

它是 host.docker.internal:5673... 我刚刚在 RabbitMQ 客户端库中看到一个关于 IPv6 的错误,并认为连接不好。它退回到 IPv4 并成功了。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...