Docker-контейнер не имеет доступа к localhost webhook - PullRequest
0 голосов
/ 06 ноября 2019

Я работаю над нашим webhook локально, прежде чем создавать докер-контейнер, и хочу, чтобы мой (Linux) контейнер связывался с ним, используя host.docker.internal:ping.
Он работал раньше, но в последнее время, по некоторым причинам,Я получаю эту ошибку от нашего graphql-engine, Хасуры:

    { 
   "timestamp":"2019-11-05T18:45:32.860+0000",
   "level":"error",
   "type":"webhook-log",
   "detail":{ 
      "response":null,
      "url":"http://host.docker.internal:3000/simple/webhook",
      "method":"GET",
      "http_error":{ 
         "type":"http_exception",
         "message":"ConnectionFailure Network.Socket.getAddrInfo (called with preferred socket type/protocol: AddrInfo {addrFlags = [AI_ADDRCONFIG], addrFamily = AF_UNSPEC, addrSocketType = Stream, addrProtocol = 0, addrAddress = <assumed to be undefined>, addrCanonName = <assumed to be undefined>}, host name: Just \"host.docker.internal\", service name: Just \"3000\"): does not exist (Temporary failure in name resolution)"
      },
      "status_code":null
   }
}   

Вот мой состав докера:

version: '3.6'

services:

  postgres:  
    image: postgres:11.2  
    restart: always  
    ports:  
      - 5432:5432  
    volumes:  
      - postgres:/var/lib/postgresql/data  
    environment:  
      - POSTGRES_DB=postgres  
      - POSTGRES_USER=...  
      - POSTGRES_PASSWORD=...  

  graphql-engine:  
    image: hasura/graphql-engine:latest  
    depends_on:  
      - postgres  
    restart: always  
    environment:  
      - HASURA_GRAPHQL_DATABASE_URL=postgres://...:...@postgres:5432/postgres  
      - HASURA_GRAPHQL_ACCESS_KEY=...  
      - HASURA_GRAPHQL_AUTH_HOOK=http://host.docker.internal:3000/simple/webhook  
    command:  
      - graphql-engine  
      - serve  
      - --enable-console  
    ports:  
      - 8080:8080  
       volumes:   
  postgres:   
  data:

Локальный проект наверняка работает и слушает порт 3000. Тем не менее, он не получает никаких запросов [как и должно быть] из контейнера graphql-engine. Может ли это быть связано с нашим прокси?

1 Ответ

0 голосов
/ 11 ноября 2019

Кажется, проблема с Docker Desktop. Деинсталлировал всю среду докера и перестроил все, что исправило.

...