我正在尝试在运行 Express 服务器的两个 docker 容器之间建立连接。在本例中,我想在用户管理服务器内的任务服务器中使用路由。我实现了express-http-proxy在用户管理服务器中如下所示:
app.use('/api/tasks', proxy('http://tasks-service:5002/api/tasks'));
但是,当我进行 api 调用时,出现错误
{
"err":"connect ECONNREFUSED 172.21.0.6:5002"
}
我已经在两台服务器上安装了 cors,并使用 docker-compose 将它们连接到同一网络中(如下)
什么原因导致错误?我该如何解决?
最佳答案
简单的错误
docker-compose.yml
tasks-service:
...
ports:
- "5002:3000" # <-- wrong
- "3000:5002" # <-- right, "<hostPort>:<containerPort>"
...
通过执行此操作,您的代理应该可以连接
关于node.js - docker Express 服务器之间的连接被拒绝,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60420788/