【发布时间】:2019-03-21 06:22:52
【问题描述】:
试图环顾四周,但找不到任何接近我需要的东西。
我有一个带有 docker 容器 (web) 的 docker-compose 文件,它通过解析主机名在其环境变量中使用另一个容器的 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文件,以文本形式说明问题?你能给出你遇到的具体错误吗? -
对原始问题进行了一些编辑。我得到的错误是
net::ERR_NAME_NOT_RESOLVED这是web中的应用程序没有解析http://api:8000/server/graphqlurl
标签: docker networking docker-compose