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

ECONNREFUSED nodeJS与快件在docker容器内

蒋曾笑
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

由于应用程序将调用第三方api,所以请求模块是必需的。每次调用请求时,我都会得到以下错误...

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

我知道这可能是因为本地主机条目,但我如何改变这一点?

共有2个答案

巫马英豪
2023-03-14

当应用访问本地主机访问容器网络的本地主机时,对于环境的本地主机,请尝试在运行命令上添加 --network 主机,如下所示:

-sudo docker run --network host -it --rm -p 3000:6001 --name xxx-running xxx
东郭骁
2023-03-14

你是否在本地主机的docker容器中托管你的第三方api?如果是,那么你需要确保第三方api docker容器共享同一个网络。参见https://docs.docker.com/engine/userguide/networking/.,我在尝试访问restendpoint时遇到了同样的问题,我认为这个问题可以通过本地主机解决,因为它运行在我的docker容器中。以下是帮助我解决问题的一系列步骤:

    < li >执行< code>docker network ls查看您有多少网桥驱动程序。在我的案例中,我有两个集装箱,使用不同的集装箱 < li >如果您有多个网桥驱动程序,请确保您启动了容器,这些容器将使用同一个网桥网络相互通信< code > docker run-d-t-network network name-name container name < li >运行< code>docker网络检查网络名称。您将看到网络的详细信息和容器列表。每个容器都有一个关联的IP v4地址。使用这些地址值进行通信,而不是使用localhost或127.0.0.1
 类似资料:
  • 我有几十个php应用程序,我想dockerize。我想知道什么是管理和性能方面的最佳设计。 > 一个包含所有服务的大容器(php fpm、mysql、nginx等) 所有服务的单独容器: container-php-fpm-app1 容器-nginx-app1 container-mysql-app1 container-php-fpm-app2 容器-nginx-app2 container-m

  • 如何获取容器快照并将快照加载到另一个docker主机中。我想知道容器快照,而不是图像。我对docker中的导出/导入和保存/加载命令感到困惑。我喜欢更清晰或更深入地理解它们。 快照包含运行容器和屋顶的元数据。另一个docker主机中的确切状态。这方面的帮助将是巨大的。

  • 我正在docker容器中设置一个应用程序。我希望这个应用程序能够与localstack堆栈容器localstack文档连接。当我运行时,容器会成功启动。我可以运行docker-compose文件中未包含的独立java应用程序,它将成功连接到localstack容器。但与localstack一起启动的应用程序无法连接。我看过docker文档和localstack文档,我想不出如何让这些东西彼此通信。

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

  • 「Allen 谈 Docker 系列」 DaoCloud 正在启动 Docker 技术系列文章,每周都会为大家推送一期真材实料的精选 Docker 文章。主讲人为 DaoCloud 核心开发团队成员 Allen(孙宏亮),他是 InfoQ 「Docker 源码分析」专栏作者,已出版《Docker 源码分析》一书。Allen 接触 Docker 近两年,爱钻研系统实现原理,及 Linux 操作系统。

  • 问题内容: 我对docker,redis和任何类型的网络都是陌生的(至少我了解python!)。首先,我想出了如何获取redis docker映像并在docker容器中运行它: 据我了解,此Redis实例具有可用于连接其他容器的端口6379。 如果运行以下命令,则可以与redis实例进行交互并生成key:value对: 我已经弄清楚如何制作并运行安装了redis库的docker容器,该容器将运行p