Moby: resolv.conf aucun fichier de ce type o répertoire

Créé le 26 mars 2014  ·  17Commentaires  ·  Source: moby/moby

Je viens de quitter pour installer docker sur ubuntu 12.04 à partir de ce guide:
http://docs.docker.io/en/latest/installation/ubuntulinux/
et j'ai ça

➜ ~ sudo docker exécuter -i -t ubuntu / bin / bash
2014/03/26 11:45:17 Erreur: ouvrir /etc/resolv.conf: aucun fichier ou répertoire de ce type

Aucune suggestion?

arenetworking kinbug

Commentaire le plus utile

Je rencontre ce problème et cela semble être un effet secondaire de la configuration de NetworkManager sur ma distribution, Sabayon Linux.

Dans mon cas, /etc/resolv.conf est un lien symbolique vers /etc/resolvconf/run/resolve.conf et n'est créé qu'après que NetworkManager se connecte à un réseau. Cela empêche Docker de démarrer au démarrage, mais il démarre correctement après la connexion et la connexion à un réseau.

Tous les 17 commentaires

Problème avec votre machine hôte. Créez /etc/resolv.conf et remplissez-le avec les informations DNS appropriées et réessayez la commande.

Ce n'est pas un bogue Docker, c'est un problème causé par l'absence de /etc/resolv.conf sur votre hôte. Je peux reproduire le problème lorsqu'il n'y a pas de resolv.conf sur l'hôte.

Veuillez réparer votre système Linux.

IMHO le fichier n'est pas nécessaire, n'est-ce pas? Donc, il ne devrait pas s'agir d'un système d'exploitation cassé.
http://man7.org/linux/man-pages/man5/resolv.conf.5.html

Si ce fichier n'existe pas, seul le serveur de noms sur la machine locale sera interrogé;

Dans ce cas, le serveur DNS doit fonctionner sur votre machine locale.

Je rencontre ce problème et cela semble être un effet secondaire de la configuration de NetworkManager sur ma distribution, Sabayon Linux.

Dans mon cas, /etc/resolv.conf est un lien symbolique vers /etc/resolvconf/run/resolve.conf et n'est créé qu'après que NetworkManager se connecte à un réseau. Cela empêche Docker de démarrer au démarrage, mais il démarre correctement après la connexion et la connexion à un réseau.

@OOPMan Dans votre script d'initialisation, ne devriez-vous pas dépendre de NetworkManager avant le démarrage du service docker?

Je me demande également si cela devrait être un problème de Go en amont (en particulier "netgo") - vérifions-nous réellement resolv.conf directement, ou seulement indirectement via l'implémentation netgo?

J'ai réalisé que mon problème n'a rien à voir avec NM ou Sabayon Linux :-)

Je cours sur un Asus X550CC. Dans l'ensemble, une machine décente mais elle a une mise en garde: le matériel Wi-Fi est désactivé sous Linux jusqu'à ce que vous dormez, puis reprenez. Cela signifie qu'au démarrage, non connecté à un LAN câblé, le système décide fondamentalement qu'il n'y a pas de réseau fonctionnel et donc /etc/resolv.conf ne contient rien. Docker n'aime pas cela et ne parvient donc pas à démarrer.

Une fois que j'ai suspendu-repris, tout va bien et Docker démarre.

@unclejack @crosbymichael Je vois encore ce problème aujourd'hui sur la version 1.12.6 de docker.
Pourquoi /etc/resolv.conf gère-t-il les conteneurs Docker?

Je pense qu'il n'y a pas eu de bonne réponse à ce sujet et comme je le vis également, je rouvre. @thaJeztah pourriez-vous

Le manuel resolv.conf (de la glibc) déclare:

   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.

Par conséquent, il faut supposer qu'un système Linux sans resolv.conf est un système Linux valide.

D'autres logiciels, tels que la logique de chargement DNS resolv.conf de golang, traitent les résolv.conf manquants ou inaccessibles de la même manière: https://golang.org/src/net/dnsconfig_unix.go

De plus, resolv.conf n'est pas nécessaire sur les systèmes qui utilisent des modules NSS non-libc tels que nss-resolution ou winbind, ldap, etc.

/ cc @sanimej

Ce bogue empêche également d'utiliser docker hors ligne sur certaines distributions.

Essayer de le réparer dans: https://github.com/docker/libnetwork/pull/1847

créez simplement un nom de fichier vide 'resolv.conf' à l'endroit, mon problème est résolu ~

Je vois que le correctif pour cela a été fusionné via https://github.com/moby/moby/commit/1ddeb11835600127a3319fc0dd3764e57ffbf521 , qui sera inclus dans la prochaine version 17.10; https://github.com/docker/docker-ce/blob/17.10/components/engine/vendor/github.com/docker/libnetwork/sandbox_dns_unix.go

fermeture, car cela est résolu sur le maître 👍

Cette page vous a été utile?
0 / 5 - 0 notes