Javascript 从本地openwhisk操作请求本地主机上的api

Javascript 从本地openwhisk操作请求本地主机上的api,javascript,networking,openwhisk,Javascript,Networking,Openwhisk,我已经使用在docker上运行的openwhisk的本地实例进行了设置。我已经创建了一个操作,试图在我的机器上运行端口8081的API。代码如下所示: 从“axios”导入axios; 异步函数main(){ 让响应=null; 试一试{ 响应=等待axios.get('http://localhost:8081/api/health-勾选“); }捕获(错误){ 返回{ 有效载荷:{ 错误:错误 } } } 返回{ 有效载荷:{ headers:response.headers } }; }

我已经使用在docker上运行的openwhisk的本地实例进行了设置。我已经创建了一个操作,试图在我的机器上运行端口8081的API。代码如下所示:

从“axios”导入axios;
异步函数main(){
让响应=null;
试一试{
响应=等待axios.get('http://localhost:8081/api/health-勾选“);
}捕获(错误){
返回{
有效载荷:{
错误:错误
}
}
}
返回{
有效载荷:{
headers:response.headers
}
};
}
global.main=main;
我得到的错误是:

{
“代码”:“经济融合”,
“配置”:{
“标题”:{
“接受”:“application/json,text/plain,*/*”,
“用户代理”:“axios/0.20.0”
},
“maxBodyLength”:-1,
“maxContentLength”:-1,
“方法”:“获取”,
“超时”:0,
“转换请求”:[
无效的
],
“回应”:[
无效的
],
“url”:”http://localhost:8081/api/health-勾选“,
“xsrfCookieName”:“XSRF-TOKEN”,
“xsrfHeaderName”:“X-XSRF-TOKEN”
},
“消息”:“connect Econrefuse127.0.0.1:8081”,
“名称”:“错误”,
“堆栈”:“错误:在TCPConnectWrap.afterConnect[as oncomplete](net.js:1107:14)处连接EConrefuse127.0.0.1:8081\n”
}

我假设这是因为localhost指向运行该操作的docker容器。如何获取此请求以转到我的开发计算机?

在打印
process.env的值后,我发现了一个属性:

“\uuuuw\uAPI\uHost”:https://192.168.2.61",
起初我并不确定它是什么,但我在这里尝试了一个请求,结果成功了:

axios.get('http://192.169.2.61:8081/api/health-勾选“)

因此,可能
process.env.\uow\u API\u HOST
包含一个指向您可以使用的本地计算机的ip。

本文应该能够帮助您从docker容器访问主机:我读了那篇文章,
HOST.docker.internal
解析为
127.0.0.1:80
。所以我试着只请求
127.0.0.1:8081
,这导致了ECONREFUNCE。关于启用docker
host
networking模式,我已经查看了
openwhisk devtools/docker compose/docker compose.yml,我不确定要修改什么服务配置。