java.net.connectexception连接被拒绝(连接被拒绝):无法从docker容器连接到本地Rabbitmq

时间:2019-11-12 13:17:05

标签: java docker rabbitmq

嗨,我正在docker容器中运行一个应用程序,并尝试从docker容器连接到本地Rabbitmq服务器。但是我做不到。

我尝试了许多解决方案,但未能成功。

rabbitmq凭据-

  

主机-127.0.0.1,端口-5672,用户-“来宾”,密码-“来宾”

我遇到此错误:

  

java.net.connectexception连接被拒绝(连接被拒绝)

请在这里帮忙!

2 个答案:

答案 0 :(得分:1)

您用于访问Rabbitmq实例的IP是什么?

请勿在容器内使用127.0.0.1。

如果运行容器的主机的地址为192.168.x.y,请从容器ping此IP并查看是否可以访问。

如果主机IP可访问,请尝试使用“ telnet hostip 15672”,以查看15672端口上的主机IP上rabbitmq是否可访问。

一切都好吗?然后尝试从hostport:15672上的容器连接到Rabbit。

仍然存在问题,请检查防火墙规则,并允许到erlang,epmd等正在侦听的5672、15672、25672、4562的所有内部路由

答案 1 :(得分:0)

您的主机操作系统和容器使用不同的网络名称空间,因此容器中的127.0.0.1与主机操作系统中的地址127.0.0.1不同。

所以:

  • 在主机操作系统网络名称空间--net=host中启动应用容器(我建议阅读文档和此配置的结果)

OR

  • 从应用程序容器连接到RabbitMQ正在监听的(非本地主机,非127.0.0.1)主机OS IP