您好,我是使用 docker 进行开发的新手。我在这里尝试从前端( react )到后端(express.js)进行通信。
我也启用了 cors,当我尝试使用 url http://backend:4001
,
但是当我使用 docker 内部 IP 地址时它可以工作,例如:http://172.18.0.3:4001
。
以下是我的 docker-compose.yml 文件。
请建议如何让这个工作,谢谢。
version: "3"
services:
backend:
build: ./api
volumes:
- ./api:/usr/src/api
ports:
- 6002:4001
depends_on:
- database
database:
image: mongo:4.0.15-xenial
ports:
- 27018:27017
frontend:
build: ./app
volumes:
- ./app:/usr/src/app
ports:
- 6001:3000
links:
- backend
depends_on:
- backend
最佳答案
它不会工作,因为你的浏览器(互联网客户端)不是 docker stack 网络的一部分,你必须配置你的前端服务连接到 http://localhost:6002
而不是 http://backend:4001
https://stackoverflow.com/questions/60019842/