【问题标题】:Rabbitmq connection refused , runs inside docker container on a linux serverRabbitmq 连接被拒绝,在 linux 服务器上的 docker 容器内运行
【发布时间】:2019-01-17 09:01:16
【问题描述】:

我们在连接到在 Linux 服务器上的 docker 中运行的 RabbitMQ 服务器时遇到问题。我正在使用以下代码进行连接。

    factory = new ConnectionFactory();
    factory.setUsername("name");
    factory.setPassword("password");
    factory.setHost("ip host");

    connection = factory.newConnection();
    channel = connection.createChannel();

密码和用户名默认为guest/guest,但也尝试了另一个我没有在此处指定的。正在阅读有关访客/访客无法用于远程连接的信息。

问题是我们得到一个 "java.net.ConnectException: Connection denied: connect"

已经在我的本地笔记本电脑上安装了 rabbitMQ,而不是我们的 Linux 服务器 IP + 可用于访问服务器上的 RabbitMQ 的端口,尝试了“localhost”,它工作正常。

问题是我们需要使用服务器,因为我们将在那里进行测试。

所以有些东西阻止了请求以获取连接。我曾尝试搜索类似的帖子,但似乎没有任何效果,而且每个人都简单使用localhost,效果很好。

还应该设置我在 Eclipse 中使用 Java 尝试连接到 rabbitmq。

【问题讨论】:

  • 什么是docker的机器?它是如何开始的?
  • 你在这里是什么意思?在 docker 中安装安装的 Rabbitmq 并不完全是我,但它运行并且您可以访问它的控制面板并与访客/访客或我们创建的用户名/密码连接。我在工厂使用的ip是没有端口的。所以只是一个映射到 IP 地址的链接。
  • 控制面板是基于网络的?
  • 是的,可以在浏览器中使用linux ip + 默认端口到rabbit mq 15672 看到它
  • 我建议检查防火墙。

标签: java linux docker rabbitmq


【解决方案1】:

我设法解决了这个问题。

基本上需要打开正确的端口 5672,而不仅仅是 15672。

docker run -d -p 5672:5672 -p 15672:15672  --name rabbitmq rabbitmq

【讨论】:

    猜你喜欢
    • 2015-12-10
    • 2016-11-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-29
    相关资源
    最近更新 更多