Docker Embedded DNS Server не работает должным образом - PullRequest
0 голосов
/ 10 мая 2019

В режиме роя Docker мы запускаем 2 контейнера, скажем container1 и container2, и заставляем его присоединиться к одной и той же оверлейной сети.

Контейнер 1 не может разрешить хост для container2 и получить время ожиданияошибка, если внешний DNS не настроен.

Мой вопрос заключается в том, почему требуется внешний DNS, так как встроенный DNS в Docker должен иметь возможность разрешать IP-адрес для другого контейнера.

После некоторой отладкии проверка журналов демонов докера, которые я выяснил, когда container1 пытается попасть в container2, он правильно получает IP для container2, но каким-то образом переворачивает IP и пытается разрешить это снова, , который получает тайм-аут внешнего DNS, неустановить и он пытается подключиться к google DNS.

Ниже приведены журналы, прикрепленные к демону docker, когда container1 пытается связаться с container2: -

May 10 08:18:19 machinename dockerd[7426]: time="2019-05-10T08:18:19.762489062-04:00" level=debug msg="Name To resolve: container2."
May 10 08:18:19 machinename dockerd[7426]: time="2019-05-10T08:18:19.762587838-04:00" level=debug msg="[resolver] lookup for container2.: IP [10.0.1.15]"
May 10 08:18:19 machinename dockerd[7426]: time="2019-05-10T08:18:19.799601523-04:00" level=debug msg="IP To resolve 15.1.0.10"
May 10 08:18:19 machinename dockerd[7426]: time="2019-05-10T08:18:19.799930743-04:00" level=debug msg="[resolver] query 15.1.0.10.in-addr.arpa. (PTR) from 172.18.0.8:43634, forwarding to udp:8.8.8.8"
May 10 08:18:23 machinename dockerd[7426]: time="2019-05-10T08:18:23.800300048-04:00" level=debug msg="[resolver] read from DNS server failed, read udp 172.18.0.8:43634->8.8.8.8:53: i/o timeout"
May 10 08:18:23 machinename dockerd[7426]: time="2019-05-10T08:18:23.800693058-04:00" level=debug msg="[resolver] query 15.1.0.10.in-addr.arpa. (PTR) from 172.18.0.8:36077, forwarding to udp:8.8.4.4"
May 10 08:18:27 machinename dockerd[7426]: time="2019-05-10T08:18:27.800992754-04:00" level=debug msg="[resolver] read from DNS server failed, read udp 172.18.0.8:36077->8.8.4.4:53: i/o timeout"

Как видно из приведенного вышерегистрирует, что получает IP 10.0.1.15 для container2, но в следующей строке пытается разрешить 15.1.0.10, только обратная сторона IP.

Любые предложения, чтобы решить эту проблему?

1 Ответ

0 голосов
/ 14 мая 2019

Кажется, он разрешается через обратный DNS, а ip отображается в обратном порядке, как вы можете видеть в следующем посте: https://github.com/moby/moby/issues/20847 Оставьте комментарий, если у вас есть другая причина для этого

...