要解决Angular前端Docker容器无法与Node Express后端Docker容器发送/接收数据的问题,我们需要确保两个容器能够相互通信。以下是一种可能的解决方案:
docker network create mynetwork
然后,分别将前端和后端容器连接到该网络:
docker run --name frontend --network=mynetwork -p 4200:4200 frontend-image
docker run --name backend --network=mynetwork -p 3000:3000 backend-image
const apiUrl = 'http://backend:3000/api';
这将确保前端容器能够正确访问后端容器的API。
const port = 3000;
app.listen(port, () => {
console.log(`Server running on port ${port}`);
});
这将确保后端容器在指定的端口上监听请求。
# docker-compose.yml
services:
frontend:
build: .
ports:
- "4200:4200"
backend:
build: .
ports:
- "3000:3000"
这将确保可以通过主机的端口访问容器。
通过以上步骤,前端和后端容器应该能够成功发送和接收数据了。