Moby: resolv.conf não existe tal arquivo ou diretório

Criado em 26 mar. 2014  ·  17Comentários  ·  Fonte: moby/moby

Acabei de instalar o docker no Ubuntu 12.04 a partir deste guia:
http://docs.docker.io/en/latest/installation/ubuntulinux/
e eu tenho isso

➜ ~ sudo docker run -i -t ubuntu / bin / bash
2014/03/26 11:45:17 Erro: abra /etc/resolv.conf: não existe esse arquivo ou diretório

alguma sugestão?

arenetworking kinbug

Comentários muito úteis

Eu enfrento esse problema e parece ser um efeito colateral da configuração do NetworkManager em minha distribuição, o Sabayon Linux.

No meu caso, /etc/resolv.conf é um link simbólico para /etc/resolvconf/run/resolve.conf e só é criado depois que o NetworkManager se conecta a uma rede. Isso faz com que o Docker falhe ao iniciar na inicialização, mas começa bem depois que eu loguei e me conectei a uma rede.

Todos 17 comentários

Problema com sua máquina host. Crie /etc/resolv.conf preencha-o com as informações de DNS apropriadas e tente o comando novamente.

Este não é um bug do Docker, é um problema causado pela ausência de /etc/resolv.conf em seu host. Posso reproduzir o problema quando não há resolv.conf no host.

Por favor, conserte seu sistema Linux.

IMHO o arquivo não é necessário, não é? Portanto, não deve ser sobre um sistema operacional quebrado.
http://man7.org/linux/man-pages/man5/resolv.conf.5.html

Se este arquivo não existir, apenas o servidor de nomes na máquina local será consultado;

Nesse caso, o servidor DNS deve estar em execução em sua máquina local.

Eu enfrento esse problema e parece ser um efeito colateral da configuração do NetworkManager em minha distribuição, o Sabayon Linux.

No meu caso, /etc/resolv.conf é um link simbólico para /etc/resolvconf/run/resolve.conf e só é criado depois que o NetworkManager se conecta a uma rede. Isso faz com que o Docker falhe ao iniciar na inicialização, mas começa bem depois que eu loguei e me conectei a uma rede.

@OOPMan Em seu script de inicialização, você não deveria depender do NetworkManager estar

Também me pergunto se isso deve ser um problema do upstream do Go (especificamente "netgo") - nós realmente verificamos o resolv.conf diretamente ou apenas indiretamente por meio da implementação do netgo?

Percebi que meu problema não tem nada a ver com NM ou Sabayon Linux :-)

Estou executando em um Asus X550CC. No geral, uma máquina decente, mas tem uma ressalva: o hardware Wi-Fi é desabilitado no Linux até você dormir e depois retomar. Isso significa que na inicialização, desconectado de uma LAN com fio, o sistema basicamente decide que não há rede em funcionamento e, portanto, /etc/resolv.conf não contém nada. O Docker não gosta disso e, portanto, falha ao iniciar.

Depois de suspender-retomado, tudo está bem e o Docker é iniciado.

@unclejack @crosbymichael Ainda estou vendo esse problema hoje no docker versão 1.12.6.
Por que /etc/resolv.conf bloqueia a execução de containers docker?

Acho que não houve uma boa resposta sobre isso e, como também estou passando por isso, estou reabrindo. @thaJeztah você poderia pingar os mantenedores da rede? Neste ponto, não entendo por que o início do contêiner é controlado pela rede (temos máquinas isoladas onde não há arquivo resolv.conf, mas queremos iniciar os contêineres de qualquer maneira)

O manual resolv.conf (da glibc) afirma:

   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.

Portanto, deve-se assumir que um sistema Linux sem um resolv.conf é um sistema Linux válido.

Outro software, como a lógica de carregamento resolv.conf do DNS de golang, lida com resolv.conf ausente ou inacessível da mesma maneira: https://golang.org/src/net/dnsconfig_unix.go

Além disso, resolv.conf não é necessário em sistemas que usam módulos NSS não libc, como nss-resolve ou winbind, ldap, etc.

/ cc @sanimej

Este bug também impede o uso do docker offline em algumas distribuições.

basta criar um nome de arquivo vazio 'resolv.conf' no local, meu problema resolvido ~

Vejo que a correção para isso foi mesclada por meio de https://github.com/moby/moby/commit/1ddeb11835600127a3319fc0dd3764e57ffbf521 , que será incluído na próxima versão 17.10; https://github.com/docker/docker-ce/blob/17.10/components/engine/vendor/github.com/docker/libnetwork/sandbox_dns_unix.go

fechando, porque isso é resolvido no mestre 👍

Esta página foi útil?
0 / 5 - 0 avaliações