5

Я использую Docker для Mac v 1.12.3, проблема в том, что соединения HTTP и HTTPS очень медленные. DNS и Ping выглядят нормально, но HTTP(S) занимает, например, 5 секунд на образе докера, но 0,05 секунды на хосте:

Host (MacOS Sierra):
time curl www.google.com
0.05 real 
0.00 user 
0.00 sys

Docker:
time curl www.google.com
real 0m5.615s
user 0m0.010s
sys 0m0.000s

Я не вижу причин для этого или других людей с той же проблемой.

Есть идеи?

1 ответ1

4

Я заметил, что /etc/resolv.conf имеет 10 различных записей сервера имен (аналогично 192.168.65.1). Добавление DNS от Google до того, как кто-либо из них избавится от всех задержек.

ОБНОВЛЕНИЕ: Вы можете обнаружить (как я сделал), что изменение через хост moby debian (ниже), фактически не сохраняется при перезапуске. Однако я обнаружил, что v1.12.3 в Docker для Mac теперь уважает как флаг --dns для команды run , так и свойство dns в файле compose. Если вы используете флаг --dns , вам не нужно изменять любой resolv.conf с этим флагом, он заменит все записи nameserver для вас.

Дальнейшее копание показало, что мне нужно было войти в мобильное изображение, чтобы изменить настройки по умолчанию. Вы можете подтвердить это, посмотрев resolv.conf любого из созданных вами изображений. Если у них нет известного DNS, вам нужно следовать указаниям здесь:

https://github.com/docker/docker/issues/24344#issuecomment-239942428

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .