当前位置: 首页 > 知识库问答 >
问题:

拒绝从Docker容器到本地主机的Rabbitmq连接

诸葛砚文
2023-03-14

我有一个运行java进程的docker容器,我试图将该进程连接到本地主机上运行的rabbitmq。

以下是我到目前为止所做的步骤:

    null

能够ping local-ip和curl rabbitmq admin apicurl-i-u用户名:password http://local-ip:15672/api/vhosts

[{“名称”:“/”,“跟踪”:false}]

当我试图从容器内部telnet时,我得到

由:java.net.ConnectException:在java.net.plainsockeTimpl.socketConnect(本机方法)在>java.net.abstractplainsockeTimpl.doConnect(abstractplainsockeTimpl.java:350)在>java.net.abstractplainsockeTimpl.connectToAddress(abstractplainsockeTimpl.>java:206)在>java.net.abstractplainsockeTimpl.java:188)在client.impl.framehandlerfactory.create(framehandlerfactory.ja>va:32)at>com.rabbitmq.client.impl.recoveryawareamqconnectionfactory.newcon>nection(recoveryawareamqconnectionfactory.java:35)

Docker网络检查桥

[{“名称”:“桥”,“ID”:“716f935f19a107225650a95d06eb83d4c973b7943b1924815034d469164affe5”,“创建”:“2016-12-11t15:34:41.950148125z”,“作用域”:“本地”,“驱动程序”:“桥”,“enableIPv6”:false,“IPAM”:{“驱动程序”:“默认值”,“选项”:null,“配置”:[{“子网”:“172.17.0.0/16”,“网关”:“172.17.0.1”}]},“内部”:false,“附件”:false,“容器”:{“9722A49C4E99CA5A7FABE56EB9E1C71B117A1E661E6C3E078D9FB54D276C6C”:{“名称”:“测试”,“endpointid”:“EEDF2822384A5EBC01E5A2066533F714B6045F661E24080A89D0457E654D841”,“macaddress”:“02:42:AC:11:00:02”,“IPv4Address”:“172.17.0.2/16”,“IPv6Address”:“}},”选项“:{”com.docker.network.bridge.default_bridge“:”true“,”com.docker.network.bridge.enable_icc“:”true“,”com.docker.network.bridge.enable_ip_masquerade“:”true“,”com.docker.network.bridge.host_binding_ipv4“:”0.0.0.0“,”com.docker.network.bridge.name“:”docker0“,”

我错过了什么?

共有1个答案

陈正业
2023-03-14

对我来说这很管用!

我已经安装了image docker pull RabbitMQ:3-Management

然后跑

docker run -d --hostname haroldjcastillo --name rabbit-server -e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=admin2017 -p 5672:5672 -p 15672:15672 rabbitmq:3-management
docker-machine ip
192.168.99.100
spring.rabbitmq.host=192.168.99.100
spring.rabbitmq.username=admin
spring.rabbitmq.password=admin2017
spring.rabbitmq.port=5672

最美好的祝愿

 类似资料:
  • 问题内容: 我正在运行一个docker mysql映像,以下是docker-compose.yml文件的外观: 这很好。 我的问题是:如何从主机(我的Macbook)上的命令行mysql客户端连接到在该容器上运行的MySQL实例? 澄清: 我有一台装有Docker的Macbook 我有一个带有mysql的docker容器 我想从Macbook的终端连接到上述容器上运行的mysql实例 我不想使用命

  • 澄清: 我有一台安装了Docker的macbook 我有一个带有MySQL的docker容器 我想从MacBook上的终端连接到在上述容器上运行的mysql实例 我不想使用命令来实现此操作。相反,我想直接从终端使用客户机(而不通过docker容器隧道进入)。 我没有在本地运行MySQL,所以端口3306应该是打开的,可以随时使用。 我用来启动容器的命令是:

  • 我刚刚在我的个人计算机上安装了DBeaver,并试图创建一个PostgreSQL数据库。 我在连接到数据库窗口中输入了以下内容: 主机:本地主机 端口:5432 数据库:Postgres 用户:Postgres 这些值都是预先填充的默认值,所以我离开了它们,点击了测试连接...按钮。 当我单击测试按钮时,一个错误窗口打开,说:“到本地主机的连接:5432被拒绝。请检查主机名和端口是否正确,以及邮局

  • 我已经设置了Flurl在我的Xamarin PCL中运行,并且我正在调用我在MVC应用程序中运行的Web Api。 似乎 Flurl 可以毫无问题地击中我部署的 API,但由于某种原因我无法在本地测试更改。 我现在做的是: 我也尝试过一个简单的GetAsync(),但再次失败。 任何帮助都将不胜感激。 编辑: 为了了解更多信息,该项目是Ionic移动应用程序的重新开发。我已经在本地运行了ionic

  • 大家好,我是Docker的新手,我想通过在官方网站上学习教程来熟悉Docker。现在我被困在教程的第2部分(你可以在这里查看链接)= 我有示例应用程序代码、Dockerfile和要求。txt与官方教程完全相同 我的Dockerfile是这样的 所有3个文件的文件内容/代码也与教程完全相同。我能够用这个命令构建镜像注册表 一切看起来都很好。现在我有了样本项目图像注册表。 然后,我根据官方教程使用此命

  • 问题内容: 所以我想连接到我在主机上运行的mongodb(DO Drop,Ubuntu 16.04)。它在localhost 的默认端口上运行。 然后,我使用mup将我的Meteor应用程序部署在我的DO Drop上,该DO Drop使用docker在容器内运行Meteor应用程序。到目前为止,一切都很好。使用标准连接URL将应用程序连接到mongodb。现在我有以下问题: 显然不能在docker