小编its*_*ace的帖子

docker-compose 解析 url 中的主机名

尝试环顾四周,但找不到任何接近我需要的东西。

我有一个 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"
Run Code Online (Sandbox Code Playgroud)

我的问题是,web在运行时无法解析该变量。我可以在容器api内正常执行 ping 操作web,但http://api:8000无法正确解析。我还尝试将 HOST=api 设置为变量并手动构建 URI,但这也不起作用。

编辑:我添加了完整的 docker-compose.yml 文件以供参考。我可以从容器内部很好地解决问题curl,但我的应用程序似乎无法正确解决它。我正在使用 NodeJS 和 Reactapiweb

networking docker docker-compose

4
推荐指数
1
解决办法
2万
查看次数

标签 统计

docker ×1

docker-compose ×1

networking ×1