Yin*_*ang 12 request node.js docker
我正在构建一个在docker容器中运行的nodejs应用程序...
这是我用来运行容器的命令......
sudo docker run -it --rm -p 3000:6001 --name xxx-running xxx
Run Code Online (Sandbox Code Playgroud)
执行上面的命令行,得到以下输出..
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
Run Code Online (Sandbox Code Playgroud)
由于应用程序将调用第三方api,因此需要请求模块.每次调用请求时,我都会收到以下错误...
{ [Error: connect ECONNREFUSED 192.155.253.83:443]
code: 'ECONNREFUSED',
errno: 'ECONNREFUSED',
syscall: 'connect',
address: '192.155.253.83',
port: 443 }
Run Code Online (Sandbox Code Playgroud)
我知道也许是因为localhost条目,但我怎么能改变这个?
您是否在localhost上的docker容器中托管第三方api?如果是,那么您需要确保第三方api docker容器共享同一网络.请参阅https://docs.docker.com/engine/userguide/networking/.我有同样的问题试图访问休息端点,我假设将与本地主机解决,因为它在我的容器内的docker上运行.以下是帮助我解决问题的一系列步骤:
docker network ls以查看您拥有的桥接驱动程序数量.在我的情况下,我有2和容器使用不同的docker run -d -t --network networkname --name containernamedocker network inspect networkname.您将通过容器列表查看网络的详细信息.每个容器都将具有与之关联的IPv4Address.使用这些地址的值来代替localhost或127.0.0.1进行通信| 归档时间: |
|
| 查看次数: |
9811 次 |
| 最近记录: |