如何从docker下一个应用程序访问主机nodejs应用程序?



我正试图让我的下一个应用程序在生产服务器上工作。对于本地机器,生成的docker映像运行良好,它可以访问在本地主机上运行的nodejs应用程序。axios 'baseurl: http://127.0.0.1:6008/'似乎工作正常,docker映像可以访问它。在生产服务器上,我使用docker来设置下一个应用程序,与我在本地机器上测试的方式相同。然而docker的next应用无法访问主机服务器上的nodejs应用。我想这一定是网络设置的问题。

在vuejs应用程序中,我通常在apache web conf中设置一个proxypass,将输入的后端查询转换为匹配并替换为localhost地址。

ProxyPass /app/query http://localhost:6008/query

nuxt。配置文件,axios设置如下:

axios: {
baseURL:'http://127.0.0.1:6008/',
browserBaseURL: ''
},

docker是否需要额外的设置,或者我应该配置我的apache在我的docker容器和运行在主机apache pm2上的节点应用程序之间的通信?

localhost127.0.0.1从docker将无法解析到服务器的本地主机。相反,你需要指定nodejs服务的名称(如果你使用docker-compose)或nodejs docker容器的名称(如果你只使用docker run)。

您也可以尝试通过提供docker运行的服务器的IP而不是127.0.0.1

相关内容

最新更新