gpt4 book ai didi

angular - 在多容器docker-compose设置中,我应该添加什么作为api地址?

转载 作者:行者123 更新时间:2023-12-02 18:45:52 25 4
gpt4 key购买 nike

我有一个简单的2容器docker-compose设置。前端(Angular)和后端(nestjs / express)。

这是我的docker-compose(开发)

version: "3.3"
services:
db:
image: 'postgres:10-alpine'
container_name: 'postgresnew'
environment:
- POSTGRES_USER=postgres
- POSTGRES_PASSWORD=4321
- POSTGRES_DB=bleh
volumes:
- pgdata:/var/lib/postgresql/data
frontend:
build: ./frontendapp
ports:
- 4001:4200
volumes:
- ./frontendapp:/app
- /app/node_modules/
backend:
build: ./backendapp
ports:
- 4000:8080
volumes:
- ./backendapp:/app
- /app/node_modules/
env_file:
- .env
volumes:
pgdata:

现在,暴露了正确的端口后,前端可以使用localhost:4000地址轻松访问后端,如前端环境所示
const x = 'http://localhost:4000';

export const environment = {
production: false,
API_USERSERVICE: x + "/api/user",
API_PROJECTSERVICE: x + "/api/project",
API_TASKSERVICE: x + "/api/task",
API_PGROUPSERVICE: x + "/api/pgroup",
API_KPISERVICE: x + "/api/kpi",
API_FUNDRAISINGSERVICE: x + "/api/fundraising"

};


但我希望它使用docker的内部网桥网络进行连接;而不是 localhost:4000,我不确定使用什么作为它的地址...我尝试使用 const x = 'http://twrapp_backend_1'这是它的名称,但是遇到了CORS错误,此外,似乎它正在尝试访问以该名称命名的网站...我也尝试过 const x = 'twrapp_backend_1' ...我用google搜索了一周,不确定是在docker端还是在 Angular 端出错了。救命!

最佳答案

不可以,您无法通过Docker的内部网桥网络请求后端服务。因为您对后端服务的请求是由不在docker内部桥接网络中的浏览器调用的。
enter image description here
仅应将Docker containers矩形中的容器与容器名称一起调用。

关于angular - 在多容器docker-compose设置中,我应该添加什么作为api地址?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59350343/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com