我有 2 个微服务:带有 next.js 的前端和带有 node.js 的后端,我从前端通过 REST-API 获取数据。
我现在遇到的问题是,我的 2 个服务似乎没有直接相互通信,问题是,当我在开始时使用 getinitialProps() 方法和 fetch-API 获取数据时,它可以工作。我的服务器端前端通过其服务名称找到后端。但是,当我从客户端向后端发出 http 请求时(例如,通过浏览器表单输入)。它再也找不到后端了吗?这是为什么?
这是我的 docker-compose.yml:
version: '3'
services:
dcbackend:
container_name: dcbackend
build:
context: ./dcbackend
dockerfile: Dockerfile
image: dcbackend
hostname: dcbackend
ports:
- '7766:7766'
dcfrontend:
container_name: dcfrontend
build:
context: ./dcfrontend
dockerfile: Dockerfile
image: dcfrontend
volumes:
- /app/node_modules
- ./dcfrontend:/app
hostname: dcfrontend
ports:
- '6677:6677'
Run Code Online (Sandbox Code Playgroud)
这是我将数据发送到后端的浏览器客户端方法之一(通过浏览器,我的 url 是 http:dcbackend ......所以通常它应该找到后端所在的另一个 docker 环境,但它没有...... .
if (environment == 'dev') {
url_link = `http://localhost:${port}`;
} else {
url_link = `http://dcbackend:${port}`; …Run Code Online (Sandbox Code Playgroud)