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

无法在泊坞窗和外部服务之间进行通信

南门正祥
2023-03-14

我有一个docker容器运行在localhost:3000上

另外,我有一个节点应用程序在本地主机:8081中运行

现在,如果我想邮寄或收到localhost:3000localhost:8001的请求,根本不起作用。

现在,如果在localhost:3000上以二进制文件(而不是docker文件)运行服务,同样的API请求也可以工作。

如果使用docker,我如何沟通?

共有1个答案

禹昆
2023-03-14

每个容器都在自己的桥接网络上运行,其中localhost表示容器本身。

要访问主机,可以将选项< code >-add-host = host . docker . internal:host-gateway 添加到< code>docker run命令中。然后,您可以使用主机名< code > host . docker . internal 访问主机。也就是说,如果您在主机上有一个REST服务,那么您的URL应该类似于< code > http://host . docker . internal:8081/my/service/endpoint 。

名称<code>host.docker。内部是主机的通用名称,但您可以使用任何您喜欢的名称。

您需要docker版本20.10才能正常工作。

 类似资料:
  • 我想把9093暴露在码头集装箱外面。当我如下设置暴露于9093的kafka-0端口和KAFKA_ADVERTISED_LISTENERS时,我无法连接到localhost:9093,如以下docker-compose文件所示。 但是,当我换成 和 我可以连接到Kafka经纪人localhost:9092。 如何将外部端口更改为9093以使应用程序连接?我想设置多个经纪商。

  • 问题内容: 我在Mac上。尝试运行Docker示例以下文档说明:https : //docs.docker.com/docker-for-mac/ 这是我的命令: 但我收到此错误: 需要帮忙。 问题答案: 根据您的错误消息,指示端口80已在Docker VM上使用,或者可能直接在笔记本电脑上使用。您可以停止该端口上正在运行的任何端口,也可以更改Docker命令中使用的端口。要更改为外部端口8080

  • 问题内容: 我正在docker容器内的GCE上运行jenkins实例,并希望从此Jenkinsfile和Github执行多分支管道。我正在为此使用GCE詹金斯教程。这是我的 我总是得到一个错误: 为了使docker在jenkins中工作,我需要更改什么? 问题答案: 看起来像DiD(Docker中的Docker),最近的一期杂志指出这是有问题的。 请参阅“ 在您的CI或测试环境中使用Docker-

  • 什么会阻止 命令完成?它永远不会返回到命令提示符或报告任何类型的错误。相反,它反复在“新”,“已分配”,“就绪”和“开始”之间切换。 这是命令: 这是来自“DevOps 2.1工具包 - Docker群”,维克多·法西奇的一本书,我遇到了一个我无法克服的问题...... 我试图在一群三个节点上运行一个反向代理服务,所有节点都在LinuxMint系统上本地运行,而< code>docker serv

  • 我是多克的新手。安装Docker工具箱(操作系统:Windows 10)后,我运行Docker快速入门终端,并在控制台中看到以下内容: 我做错了什么?所有系统和安装步骤的检查都是从这里开始的。 非常感谢您的帮助!

  • 问题内容: 我的项目结构如下 我试图像这样从模块(即默认模块)导入, 但事实证明。但是我可以在内部实现相同的功能。请注意,我正在同时运行和文件。 问题答案: 部署后,GAE服务/模块不会在其模块目录(文件所在的目录)之外共享 任何内容。 因此,在dir(存在的地方)上方看不到任何东西,因此看不到。但是可以,因为模型位于其目录(存在)中。 如果需要,可以在内部进行符号链接,请参阅在App Engin