Приложение Divio или CLI "доктор" сообщает об ошибке DNS

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

Я установил Ubuntu 18.1 VBox VM на хост 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 ответ

Решение

Вот что происходит: команда выполняется внутри контейнера для проверки разрешения 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,

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

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

Другие вопросы по тегам