Moby: resolv.conf нет такого файла o директория

Созданный на 26 мар. 2014  ·  17Комментарии  ·  Источник: moby/moby

Мне просто осталось установить докер на ubuntu 12.04 из этого руководства:
http://docs.docker.io/en/latest/installation/ubuntulinux/
и я получил это

➜ ~ sudo docker run -i -t ubuntu / bin / bash
2014/03/26 11:45:17 Ошибка: открыть /etc/resolv.conf: нет такого файла или каталога

какие-либо предложения?

arenetworking kinbug

Самый полезный комментарий

У меня возникла эта проблема, и, похоже, это побочный эффект конфигурации NetworkManager в моем дистрибутиве Sabayon Linux.

В моем случае /etc/resolv.conf является символической ссылкой на /etc/resolvconf/run/resolve.conf и создается только после подключения NetworkManager к сети. Это приводит к тому, что Docker не запускается при загрузке, но он запускается нормально после того, как я вошел в систему и подключился к сети.

Все 17 Комментарий

Проблема с вашим хост-компьютером. Создайте /etc/resolv.conf заполните его соответствующей информацией DNS и повторите команду.

Это не ошибка Docker, это проблема, вызванная отсутствием /etc/resolv.conf на вашем хосте. Я могу воспроизвести проблему, когда на хосте нет файла resolv.conf.

Пожалуйста, исправьте вашу систему Linux.

ИМХО файл не нужен, да? Итак, речь не должна идти о сломанной ОС.
http://man7.org/linux/man-pages/man5/resolv.conf.5.html

Если этот файл не существует, будет опрошен только сервер имен на локальном компьютере;

В этом случае DNS-сервер должен быть запущен на вашем локальном компьютере.

У меня возникла эта проблема, и, похоже, это побочный эффект конфигурации NetworkManager в моем дистрибутиве Sabayon Linux.

В моем случае /etc/resolv.conf является символической ссылкой на /etc/resolvconf/run/resolve.conf и создается только после подключения NetworkManager к сети. Это приводит к тому, что Docker не запускается при загрузке, но он запускается нормально после того, как я вошел в систему и подключился к сети.

@OOPMan В вашем сценарии инициализации не следует ли вам докеров ?

Я также задаюсь вопросом, должна ли это быть проблема восходящего потока Go (в частности, "netgo") - действительно ли мы проверяем файл resolv.conf напрямую или только косвенно через реализацию netgo?

Я понял, что моя проблема не связана с NM или Sabayon Linux :-)

Я использую Asus X550CC. В целом, приличная машина, но у нее есть одно предостережение: оборудование Wi-Fi отключено под Linux, пока вы не заснете, а затем возобновите работу. Это означает, что при загрузке, не подключенной к проводной локальной сети, система в основном решает, что сети нет, и, следовательно, /etc/resolv.conf ничего не содержит. Докеру это не нравится, и поэтому он не запускается.

Как только я приостановил-возобновил работу, все в порядке и Docker запускается.

@unclejack @crosbymichael Я все еще вижу эту проблему сегодня в докере версии 1.12.6.
Почему шлюз /etc/resolv.conf запускает контейнеры докеров?

Я думаю, что на этот счет не было хорошего ответа, и, поскольку я тоже переживаю это, я открываюсь снова. @thaJeztah не могли бы вы пинговать специалистов по обслуживанию сети? На данный момент я не понимаю, почему запуск контейнера блокируется сетью (у нас есть изолированные машины, на которых нет файла resolv.conf, но мы все равно хотим запускать контейнеры)

В руководстве resolv.conf (из glibc) говорится:

   If this file does not exist, only the name server on the local
   machine will be queried; the domain name is determined from the
   hostname and the domain search path is constructed from the domain
   name.

Поэтому следует предположить, что система Linux без файла resolv.conf является допустимой системой Linux.

Другое программное обеспечение, такое как логика загрузки DNS resolv.conf от golang, обрабатывает отсутствующий или недоступный файл resolv.conf таким же образом: https://golang.org/src/net/dnsconfig_unix.go

Кроме того, resolv.conf не требуется в системах, которые используют модули NSS, отличные от libc, такие как nss-resolve или winbind, ldap и т. Д.

/ cc @sanimej

Эта ошибка также препятствует использованию докеров в автономном режиме в некоторых дистрибутивах.

Пытаюсь исправить это в: https://github.com/docker/libnetwork/pull/1847

просто создайте там пустые имена файлов 'resolv.conf', моя проблема решена ~

Я вижу, что исправление для этого было объединено через https://github.com/moby/moby/commit/1ddeb11835600127a3319fc0dd3764e57ffbf521 , которое будет включено в предстоящий выпуск 17.10; https://github.com/docker/docker-ce/blob/17.10/components/engine/vendor/github.com/docker/libnetwork/sandbox_dns_unix.go

закрытие, потому что это решено на мастере 👍

Была ли эта страница полезной?
0 / 5 - 0 рейтинги