Docker не могу подключиться - PullRequest
       94

Docker не могу подключиться

0 голосов
/ 06 августа 2020

У меня следующая ситуация:

  • Машина Работает Docker контейнеров, один из которых является веб-приложением, доступным через порт 9003 (с docker -compose и сетевым мостом по умолчанию). Упрощенно docker-compose.yml
my-cant-do-http-service:
    image: "the image"
    ports:
      - "${HOST_IP}:9003:9003"
  • Машина B запускает веб-службу напрямую (без контейнеров) через порт 9006.

Машина B отправляет HTTP-запрос на приложение, работающее в контейнере, запущенном на компьютере A. Приложение, открытое из контейнера на компьютере A, получает запрос и записывает в журналы. Машина B успешно получает ответ.

То же приложение, работающее в контейнере на компьютере A, затем делает запрос к исходному приложению веб-службы на компьютере B. Этот запрос никогда не получен, и клиент HTTP сообщает о состоянии Код 0.

Если я открою терминал bash в контейнере на компьютере A и проверю содержимое /etc/resolv.conf, я вижу, что он имеет значение сервера имен 127.0.0.11. Но это не должно иметь значения, поскольку машины ссылаются друг на друга по IP-адресу, а не по имени хоста.

Таким образом, контейнер может принимать запрос через открытый порт и успешно отвечать. Но он не может установить прямое HTTP-соединение. Может ли кто-нибудь помочь мне понять, почему это так, и как я могу указать Docker (желательно через файл compose), чтобы разрешить HTTP-соединения? Я предполагаю, что сеть моста по умолчанию использует NAT только в одном направлении, но должен быть способ предоставить контейнеру шлюз.

...