前台如何自动传递后端link\ip?
我有两个服务:
services:
core:
restart: always
volumes:
- pws.vlm.logs:/var/www/pws/logs
networks:
- pws-net
environment:
DB_URL: postgres://pws_pg_user:${DB_PASSWORD:-default_password}@postgres/pws
NODE_ENV: ${NODE_ENV:-production}
JWT_SECRET: ${JWT_SECRET}
depends_on:
- postgres
ports:
- 3100:3080
web:
restart: always
volumes:
- pws.vlm.logs:/var/www/pws/logs
networks:
- pws-net
environment:
NODE_ENV: ${NODE_ENV:-production}
API_URL: ${API_URL:-http://127.0.0.1:3100}
depends_on:
- core
ports:
- 3000:3080如果我想从前端到后端进行api调用,我需要从主机或域名中获取ip地址,并将其作为API_URL传递给web容器,是否有机会使用docker网络通过容器名称将链接传递到后端,以便我可以设置API_URL=core并自动替换ip或域?
发布于 2019-08-09 22:46:29
Docker compose编排容器,使它们直接相互联系。只需使用后端的已用名称作为主机名,在本例中为core。您仍然需要附加端口,但在http://core:3100下可以访问后端
因此,web的条目将如下所示:
web:
restart: always
volumes:
- pws.vlm.logs:/var/www/pws/logs
networks:
- pws-net
environment:
NODE_ENV: ${NODE_ENV:-production}
API_URL: http://core:3100
depends_on:
- core
ports:
- 3000:3080发布于 2019-08-09 22:49:20
您的服务名称(core和web)充当DNS条目。您可以在前端使用http://core:3100/api访问后端的服务。
https://stackoverflow.com/questions/57432417
复制相似问题