当前位置: 首页 > 面试题库 >

ECONNREFUSED nodeJS在docker容器中具有express

朱炜
2023-03-14
问题内容

我正在构建一个在docker容器中运行的nodejs应用…

这是我用来运行容器的命令…

sudo docker run -it --rm -p 3000:6001 --name xxx-running xxx

在命令行上方执行,得到以下输出。

    Running on Locally
    AppEnv {
      isLocal: true,
      app: {},
      services: {},
      name: 'xxx',
      port: 6001,
      bind: '0.0.0.0',
      urls: [ 'http://localhost:6001' ],
      url: 'http://localhost:6001' }
   App started on port http://localhost:6001

由于该应用将html" target="_blank">调用第三方api,因此请求模块是必需的。每次调用请求时,都会出现以下错误…

{ [Error: connect ECONNREFUSED 192.155.253.83:443]
 code: 'ECONNREFUSED',
 errno: 'ECONNREFUSED',
 syscall: 'connect',
 address: '192.155.253.83',
 port: 443 }

我知道也许是因为localhost条目,但是如何更改呢?


问题答案:

您是否将第三方api托管在localhost上的docker容器中?如果是,那么您需要确保第三方api
docker容器共享同一网络。请参阅https://docs.docker.com/engine/userguide/networking/。我尝试访问其余端点时遇到了相同的问题,我认为它将与本地主机一起解决,因为它在容器内部的docker上运行。以下是一系列步骤,可帮助我解决问题:

  1. 执行docker network ls以查看您有多少个桥驱动程序。在我的情况下,我有2个和使用不同容器的容器
  2. 如果您有多个网桥驱动程序,请确保您启动的容器将使用相同的网桥网络相互通信 docker run -d -t --network networkname --name containername
  3. 运行docker network inspect networkname。您将看到带有容器列表的网络详细信息。每个容器将具有与其关联的IPv4Address。使用这些地址的值而不是localhost或127.0.0.1进行通信


 类似资料:
  • 我想构建一个具有根权限的jenkins docker容器,这样我就可以获得安装gradle的功能。 我使用这个命令在8080端口上运行jenkins,但我还想添加gradle作为环境变量: 或者我需要创建什么dockerfile,写什么,这样jenkins也可以在8080开始运行

  • 我有一个容器,我想停止,但当我做一个它挂起,永远不会停止它。 我试过正常的和

  • 如何使用PHP在容器本身中获取Docker容器ID? 我刚刚发现linux命令如下:

  • 编辑(2/19/21):自从几年前我提出这个原始问题以来,已经过去了很多时间,从那时起我看到了一系列的活动。我重新选择了一个答案,我认为它与解决这个问题的最本地化和最安全的选项一致(通常与docker compose相关)。虽然docker引入了命令,但这通常是一个危险的操作,我会谨慎使用,因为您可能会无意中影响机器上的其他应用程序或设置 我在使用Docker 1.9删除Docker卷时遇到问题。

  • 由于ES的docker容器,我面临一个奇怪的问题,我之前在9200主机端口的docker容器中运行独立的ES 7.10(内部docker端口与标准9200和9300 ES端口相同),同时,我启动了三个ES docker容器(有一个不同的小版本7)(它们应该组成集群,让我们把它命名为docker ES集群)。 这三个ES docker容器使用的主机端口为9200、92019202,因此,由于端口冲突

  • 问题内容: 我正在寻找在DC / OS上运行Docker容器时是否搭配Marathon和Chronos,Docker Swarm或Kubernetes的利弊。 例如,什么时候使用Marathon / Chronos比使用Kubernetes更好,反之亦然? 目前,我主要是在进行实验,但希望我们在夏季之后开始在生产中使用这些服务之一。这可能会取消Docker Swarm的资格,因为我不确定届时它是否