加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

node.js – 带有快速内部docker容器的ECONNREFUSED nodeJS

发布时间:2020-12-16 03:37:42 所属栏目:安全 来源:网络整理
导读:我正在构建一个在docker容器中运行的nodejs应用程序 这是我用来运行容器的命令 sudo docker run -it --rm -p 3000:6001 --name xxx-running xxx 执行上面的命令行,得到以下输出.. Running on Locally AppEnv { isLocal: true,app: {},services: {},name: 'xx

我正在构建一个在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 }

我知道也许是因为localhost条目,但我怎么能改变这个?

最佳答案
您是否在localhost上的docker容器中托管第三方api?如果是,那么您需要确保第三方api docker容器共享同一网络.请参阅https://docs.docker.com/engine/userguide/networking/.我有同样的问题尝试访问休息端点,我假设将使用本地主机解析,因为它在我的容器内的docker上运行.以下是帮助我解决问题的一系列步骤:

>执行docker network ls以查看您拥有的桥接驱动程序数量.在我的情况下,我有2和容器使用不同的
>如果您有多个桥接驱动程序,请确保启动容器,这些容器将使用相同的桥接网络docker相互通信运行-d -t –network networkname –name containername
>运行docker network inspect networkname.您将通过容器列表查看网络的详细信息.每个容器都将具有与之关联的IPv4Address.使用这些地址的值来代替localhost或127.0.0.1进行通信

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读