Docker代理错误:无法将请求/ api / product / B002QYW8LW从localhost:3000代理到http:// localhost:5000

时间:2019-10-02 03:54:57

标签: node.js docker mern

我正在尝试通过docker托管我的应用程序,但收到此错误:

client_1  | Proxy error: Could not proxy request /api/product/B002QYW8LW from localhost:3000 to http://localhost:5000.
client_1  | See https://nodejs.org/api/errors.html#errors_common_system_errors for more information (ECONNREFUSED).

使用以下设置,它在本地对我有效。我通过谷歌搜索,似乎与代理设置无关。有些人能够将代理设置为对象,但这给我一个错误,提示代理需要为字符串。 因此,我决定再次在这里提出这个问题。 有人可以帮忙吗?

为了节省空间,我删除了package.json中的irrelavent内容。

用于服务器的package.json:

{
  "name": "",
  "version": "",
  "description": "",
  "main": "src/server.js",
  "scripts": {
  },
  "repository": {
  },
  "author": "",
  "license": "",
  "bugs": {
  },
  "homepage": ""
  "dependencies": {},
  "devDependencies": {
  }
}

package.json用于客户端:

{
  "name": "client",
  "version": "0.1.0",
  "private": true,
  "dependencies": {
  },
  "scripts": {

  },
  "eslintConfig": {
  },
  "browserslist": {
    "production": [],
    "development": []
  },
  "proxy": "http://localhost:5000"
}

容器:

CONTAINER ID        IMAGE                    COMMAND             CREATED             STATUS              PORTS                    NAMES
e4b55b165c9a        productfetching_client   "npm start"         24 hours ago        Up 24 hours         0.0.0.0:3000->3000/tcp   productfetching_client_1
10581d34d189        productfetching_server   "node server.js"    24 hours ago        Up 24 hours         0.0.0.0:5000->5000/tcp   productfetching_server_1

1 个答案:

答案 0 :(得分:0)

使用注释或http://0.0.0.0:PORT中所述的在docker-compose文件中注册的容器名称,而不是指向本地容器网络地址的名称,而不是指向常规机器网络的localhost或127.0.0.1。 / p>