如何从docker compose中的容器访问localhost应用程序

如何从docker compose中的容器访问localhost应用程序,docker,docker-compose,Docker,Docker Compose,我有一个web应用程序在容器外运行(localhost:8090)。 如何从docker compose网络中的容器中访问它 我试着按照docker的帮助回答 version: '3.6' services: postgres: image: postgres restart: always volumes: - db_data:/var/lib/postgresql/data networks: - host graphql-engi

我有一个web应用程序在容器外运行(
localhost:8090
)。
如何从
docker compose
网络中的容器中访问它

我试着按照
docker
的帮助回答

version: '3.6'
services:
  postgres:
    image: postgres
    restart: always
    volumes:
    - db_data:/var/lib/postgresql/data
    networks:
      - host
  graphql-engine:
    image: hasura/graphql-engine:v1.0.0-beta.6
    ports:
    - "8080:8080"
    depends_on:
    - "postgres"
    restart: always
    environment:
      HASURA_GRAPHQL_AUTH_HOOK: "http://localhost:8090/verify"
volumes:
  db_data:
网络模式:“主机”
添加到
图形SQL引擎:
并删除端口映射:

  graphql-engine:
    image: hasura/graphql-engine:v1.0.0-beta.6
    depends_on:
    - "postgres"
    restart: always
    network_mode: "host"
    environment:
      HASURA_GRAPHQL_AUTH_HOOK: "http://localhost:8090/verify"
graphql引擎将侦听主机端口8080,并能够连接到
localhost:8090

要确保它工作正常,请验证docker主机中的
/etc/hosts
文件是否位于
graphql引擎
contianer中


您试图按照答案进行操作,然后。。。?
graphql引擎
是否需要访问容器外部?我不知道如何将网络设置为具有多个服务的组合。是否
graphql引擎
需要访问容器外部?是的,访问我的机器,一个在本地主机上运行的服务