web-dev-qa-db-fra.com

registre de recherche-1.docker.io: aucun hôte

J'ai un démon docker en cours d'exécution sur mon serveur Ubuntu 16.4

les détails de mon serveur:

Aucun module LSB n'est disponible. ID du distributeur: Ubuntu Description: Ubuntu 17.04 Version: 17.04 Nom de code: zesty

Je reçois l'erreur suivante:

aa@aaa-VirtualBox:/etc/default$ docker run hello-world
Unable to find image 'hello-world:latest' locally
docker: Error response from daemon: Get https://registry-1.docker.io/v2/: dial tcp: lookup registry-1.docker.io: no such Host.
See 'docker run --help'.

J'ai mis le http_proxy et le https_proxy beacuse je suis derrière un proxy/pare-feu corp

Des indices sur la façon de résoudre ce problème?

12
Tal Avissar

Vous devez définir le proxy pour le démon Docker en utilisant également la variable d'environnement. Docker run fait également un docker pull car l'image n'existe pas. Dans votre cas, le proxy n'est appliqué qu'à la commande docker run, qui délègue au démon docker qui s'exécute sans proxy.

Créez un fichier nommé /etc/systemd/system/docker.service.d/10_docker_proxy.conf avec le contenu ci-dessous

[Service]
Environment=HTTP_PROXY=http://1.1.1.1:111
Environment=HTTPS_PROXY=http://1.1.1.1:111

Assurez-vous de mettre à jour le proxy selon celui que vous avez 1.1.1.1:111 n'est qu'un exemple

Exécutez ensuite les commandes ci-dessous pour redémarrer Docker

Sudo systemctl daemon-reload
Sudo systemctl restart docker

Utilisez maintenant votre commande docker run et cela devrait fonctionner

16
Tarun Lalwani

Choses que vous pouvez essayer:

a) Ajouter un serveur de noms 8.8.8.8

Méthode n ° 1

docker-machine ssh default
Sudo vi /etc/resolv.conf
//change nameserver to 8.8.8.8

Redémarrez ensuite le serveur en utilisant

service docker restart

Remarque: Si vous n'avez pas de docker-machine installé, vous pouvez suivre les instructions ici pour l'installer. Il est livré avec Windows et Mac mais est disponible pour une installation manuelle sur Linux.

Méthode n ° 2

Modifier /etc/docker/daemon.json Ou "fournir une configuration JSON dans le panneau de préférences" avec les informations suivantes:

{ "dns" : [ "8.8.8.8", "8.8.4.4" ]}

Redémarrez ensuite le serveur en utilisant

service docker restart

b) Configurer le proxy

Méthode n ° 1

Modifiez votre configuration de proxy comme l'a suggéré Tarun Lalwani.

Modifier /etc/default/docker et ajouter:

export http_proxy='http://username:password@proxy-Host:proxy-port'
export https_proxy='https://username:password@proxy-Host:proxy-port'

Redémarrez ensuite le serveur en utilisant

service docker restart

Méthode n ° 2

Source: https://github.com/moby/moby/issues/32270#issuecomment-340709035

  1. Créez un répertoire de dépôt systemd pour le service docker:

    mkdir -p /etc/systemd/system/docker.service.d
    # For HTTP Proxy:
    vim /etc/systemd/system/docker.service.d/http-proxy.conf
    # For HTTPS Proxy:
    vim /etc/systemd/system/docker.service.d/https-proxy.conf
    
  2. Ensuite, ajoutez le contenu ci-dessous avec les paramètres de proxy avec lui (passez à "HTTPS" pour https)

    [Service]
    Environment="HTTP_PROXY=http://<allowed_proxy_ipv4_address>:<proxy_port_num>/"
    [Service]
    
  3. Sudo systemctl daemon-reload

  4. Sudo systemctl restart docker
  5. Vérifiez que la configuration a été chargée: systemctl show --property=Environment docker

c) Réinstaller Docker

Malheureusement, le dernier recours pourrait fonctionner. Consultez ces pages github pour plus de suggestions:

Pour moi, la configuration du proxy à l'aide de la méthode systemctl a été la seule chose qui a fonctionné.

5
Katie

Je résous l'erreur de changement de serveur DNS par 8.8.8.8 - Ubuntu 18.04.3 LTS

1- Ouvrez les paramètres du système Ubuntu et accédez au réseau

enter image description here

2- Cliquez sur le bouton de réglage à côté du nom du réseau dans la liste à laquelle vous êtes connecté.

3- Une nouvelle fenêtre s'ouvrira avec un grand nombre d'onglets, avec l'un d'eux avec l'étiquette "IPv4".

enter image description here

4- En ouvrant l'onglet "IPv4", vous trouverez un champ "DNS". Ici, vous pouvez écrire le serveur DNS

enter image description here

Si vous souhaitez utiliser plusieurs DNS, vous pouvez les saisir et les séparer par une virgule.

0
Jonathan Mendoza