【发布时间】:2021-12-27 09:58:02
【问题描述】:
我关注了How to use this image,在 Docker 中拉取并执行了最新的镜像。发件人应用程序未 docker 化,因此在本地环境中运行。
搬运工拉rabbitmq
docker run -d --hostname my-rabbit --name bunny-queue rabbitmq:3
它似乎按预期运行,我可以在日志中验证主机名和数据库是否如文章中所述。我没有看到任何错误记录,只有一些关于重新初始化索引的警告。
节点:rabbit@my-rabbit
数据库目录:/var/lib/rabbitmq/mnesia/rabbit@my-rabbit
然后,我建立了一个工厂并尝试创建一个连接(如图所示,例如here)。
ConnectionFactory factory = new() { HostName = "my-rabbit" };
using IConnection connection = factory.CreateConnection();
using IModel channel = connection.CreateModel();
我为HostName 字段尝试了不同的值(有和没有显式端口)。我用谷歌搜索了抛出的确切异常(没有一个指定的端点是可达的)。我以前从未遇到过这部分的问题,所以我觉得这与我在 Docker 中本地运行兔子有关。最接近的命中是this issue,但对于远程服务器,当我运行本地默认值时,如官方文档中所示。 Someone suggests做工厂全金属护套配置。我没能让它这样工作,我觉得官方文档中的默认值应该适用于基本的 scrio,这意味着问题出在其他地方。
我还尝试启动另一个图像,包括here 所示的管理工具。当我(作为访客)访问时,我看到 AMQP 协议绑定到端口 5672 上的 ::。据我所知,没有报告任何错误、警告或问题。
docker run -it --rm --name rabbitmq -p 5672:5672 -p 15672:15672 rabbitmq:3.9-management
不确定如何进一步调查。
【问题讨论】:
标签: c# docker .net-core rabbitmq