我正在尝试通过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
答案 0 :(得分:0)
使用注释或http://0.0.0.0:PORT
中所述的在docker-compose文件中注册的容器名称,而不是指向本地容器网络地址的名称,而不是指向常规机器网络的localhost或127.0.0.1。 / p>