我尝试过查找,但找不到与我所需相似的东西。
我有一个docker-compose文件,其中一个docker容器(web
)通过解析主机名在其环境变量中使用另一个容器的IP地址(api
):
version: '3'
services:
web:
build: ../client/
ports:
- "5000:5000"
- "3000:3000"
environment:
REACT_APP_API_DEV: http://api:8000/server/graphql
api:
build: ../server/
env_file:
- server_variables.env
ports:
- "8000:8000"
redis:
image: "redis:alpine"
我的问题是,当运行
web
时,它不能解析此变量。我可以在web
容器内很好地ping通api
,但http://api:8000
无法正确解析。我还尝试将变量设置为HOST=api并手动构建URI,但也不起作用。编辑:我添加了一个完整的docker-compose.yml文件以供参考。我可以从
web
容器内轻松地curl
api,但我的应用程序似乎无法正确解析它。我正在使用NodeJS和React。
docker-compose.yml
文件,以文本形式说明问题?您能给出具体的错误信息吗? - David Mazenet::ERR_NAME_NOT_RESOLVED
,这是web
应用程序无法解析http://api:8000/server/graphql
URL 的结果。 - itsmewiththeface