【发布时间】:2022-11-29 14:12:12
【问题描述】:
我正在尝试让我的 nuxt 应用程序在生产服务器上运行。对于本地机器,生成的 docker 镜像运行良好,它可以访问在本地主机上运行的 nodejs 应用程序。 axios 'baseurl: http://127.0.0.1:6008/' 似乎工作正常,docker 镜像可以访问它。在生产服务器上,我使用 docker 来设置 nuxt 应用程序,就像我在本地机器上测试的一样。然而 docker nuxt 应用程序无法访问主机服务器上的 nodejs 应用程序。我可以看出这一定是某种网络设置问题。
在 vuejs 应用程序中,我通常在 apache web conf 中设置一个 proxypass,以转换输入后端查询以匹配并用本地主机地址替换它们。
ProxyPass /app/query http://localhost:6008/query
nuxt.config 文件中的 axios 设置如下所示:
axios: {
baseURL:'http://127.0.0.1:6008/',
browserBaseURL: ''
},
docker 是否需要额外的设置,或者我应该为我的 docker 容器和在主机 apache pm2 上运行的节点应用程序之间的这种通信配置我的 apache?
【问题讨论】:
-
在本地主机中使用桥接网络,因此默认情况下所有容器都在本地主机可以访问的同一网络上,您是否也在生产中使用相同的网络配置(默认),或者为它们创建不同的虚拟网络? (如果您使用 docker compose 并将它们添加为不同的服务,它们将位于不同的虚拟网络上)
标签: node.js docker ubuntu nuxt.js web-deployment