Приложение Divio или CLI «доктор» сообщает об ошибке DNS - PullRequest
0 голосов
/ 04 января 2019

Приложение Divio показывает ошибку при настройке локального контейнера Docker, потому что (согласно «доктору divio») разрешение DNS внутри Docker не работает.

Я установил виртуальную машину Ubuntu 18.1 VBox на хосте W10, чтобы он служил в качестве блока локальной разработки Divio.Разрешение DNS никогда не было проблемой при запуске Docker на хосте.

Я добавил «dns»: [8.8.8.8] в /etc/docker/daemon.json, чтобы заставить DNS работать с терминала.

Следующая команда возвращает правильный ответ:

docker run busybox nslookup control.divio.com

Server:     8.8.8.8
Address:    8.8.8.8:53

Non-authoritative answer:
Name:   control.divio.com
Address: 217.150.252.173

У кого-нибудь есть идеи, как это исправить?

1 Ответ

0 голосов
/ 05 января 2019

Происходит следующее: команда, выполняемая внутри контейнера для проверки разрешения DNS (nslookup control.divio.com), имеет 5-секундный тайм-аут.

Ваша команда (docker run busybox nslookup control.divio.com делает то же самое - но безтайм-аут.

По какой-либо причине для получения ответа требуется более 5 секунд, следовательно, в первом случае произошел сбой.

Не совсем понятно, почему это иногда происходит, без очевидногопричина - разрешение DNS не должно занимать так много времени.

Вы можете отключить этот тест, добавив docker-server-dns к skip_doctor_checks в файле ~/.aldryn. Подробнее см. в документации по Divio Cloud .


Обновление от 8 января 2019 года

Приложение Divio обновлено (до версии 0.13.1), которое вам будет предложено при следующем запуске вместе с Divio.CLI (до версии 3.3.10), который, если вы используете вне Divio Shell, может быть установлен с pip install --upgrade divio-cli.

В этом обновлении был изменен способ поиска, чтобы смягчить влияние сети pпроблемы, когда он выполняет проверку DNS (теперь он выполняет более ограниченную проверку).

Теперь вы сможете снова включить отключенный тест docker-server-dns в файле ~/.aldryn.


Обновление от 8 марта 2019 года

Чтобы усложнить ситуацию, оказалось, что образ Busybox, используемый для выполнения этих тестов, изменился в последних версиях, и довольно трудно гарантировать, что команды, используемые в тесте, будут работатьс любой версией Busybox, которую пользователь имеет.

Запуск docker pull busybox обновит образ, и для многих пользователей это решило проблемы.Некоторые пользователи смогут восстановить описанные выше тесты, которые не пройдут.

...