Le réseau a expiré pendant la tentative de connexion à https://index.docker.io


204

J'ai installé Docker-Toolbox tout à l'heure en suivant leur page Web

J'ai commencé avec Docker QuickStart Terminalet voir ce qui suit

                        ##         .
                  ## ## ##        ==
               ## ## ## ## ##    ===
           /"""""""""""""""""\___/ ===
      ~~~ {~~ ~~~~ ~~~ ~~~~ ~~~ ~ /  ===- ~~~
           \______ o           __/
             \    \         __/
              \____\_______/


docker is configured to use the default machine with IP 192.168.99.100
For help getting started, check out the docs at https://docs.docker.com

bash-3.2$ 

Mais quand j'essaye de jouer docker pull hello-world, c'est ce que je vois

bash-3.2$ docker run hello-world
Unable to find image 'hello-world:latest' locally
Pulling repository docker.io/library/hello-world
Network timed out while trying to connect to https://index.docker.io/v1/repositories/library/hello-world/images. You may want to check your internet connection or if you are behind a proxy.
bash-3.2$ 

Qu'est-ce qui ne va pas?

Réponses:


482

J'ai eu le même problème ce matin et le problème suivant m'a résolu:

$ docker-machine restart default      # Restart the environment
$ eval $(docker-machine env default)  # Refresh your environment settings

Il semble que cela soit dû au fait que la machine virtuelle Docker se trouve dans un état étrange. Il y a un problème de github ouvert ici


3
Cela l'a également corrigé pour moi ... cependant, je dois le réexécuter à chaque nouvelle session de terminal.
THX1137

17
Semble se produire lorsque je passe de mon LAN professionnel à un LAN domestique. Le DNS est peut-être inaccessible depuis chez vous.
taco

10
Je peux confirmer qu'il se casse lorsque je change de réseau WiFi. Le redémarrage de Docker le corrige toujours.
Stephen Harrison

3
Parfait, dans mon cas, je devais inclure docker-machine regenerate-certs default.
rogeriopradoj

3
putain de merde, ça a du sens maintenant. La commutation des paramètres réseau (wifi, lan, vpn, réseau domestique, intranet de travail, iphone, ...) provoque ces étranges problèmes.
nils petersohn

41

J'ai installé Docker sans Toolbox sur Windows 10, donc la version qui nécessite Hyper-V pour être activée.

Pour Docker version 1.12, je devais aller dans la barre des tâches, cliquer avec le bouton droit sur l'icône Docker, sélectionner Paramètres -> Réseau et définir le serveur DNS sur fixe, de sorte qu'il utilise le serveur DNS de Google à 8.8.8.8.

Une fois ce paramètre modifié, cela a finalement fonctionné.


Je suis juste passé à fixe, puis je l'ai réactivé et j'ai appliqué. Je n'avais pas besoin de le laisser fixe.
Philip Tinney

Dans mon cas, j'ai installé le client parapluie OpenDNS qui définit vos paramètres réseau pour utiliser 127.0.0.1 pour DNS. Docker semble copier les paramètres de votre carte réseau, donc il a été mis localhost dans ses propres paramètres DNS qui ne fonctionneront naturellement pas.
Richard Benson

A travaillé sur Windows 10
maître le

16

La solution la plus simple consiste à ajouter l'entrée suivante dans le fichier / etc / default / docker

export http_proxy = "http: // HOST: PORT /"

et redémarrez le service docker

redémarrage du docker de service


Il devait être un "exemple" de serveur proxy, ne s'attendait pas à ce qu'il provoque une confusion
pr-pal

2
Pour les centos, il se trouve dans le fichier / etc / sysconfig / docker.
Priyank Desai

Pour MacOS, j'ai entré manuellement les configurations de proxy dans les "Préférences" de Docker Desktop -> "Proxies"
user1394

8

Mise à jour août 2016

Utiliser Docker pour Mac (version 1.12.0), voyait des problèmes de formulaire:

➜  docker pull node
Using default tag: latest
Pulling repository docker.io/library/node
Network timed out while trying to connect to https://index.docker.io/v1/repositories/library/node/images. You may want to check your internet connection or if you are behind a proxy.`enter code here`

Ce problème a été résolu en mettant à jour les paramètres de réseau sans fil de mon MacBook Pro pour inclure l'entrée DNS suivante: 8.8.8.8

Pour plus d'informations, veuillez consulter ce numéro (daté) qui fournit la réponse donnée ici.


7

J'ai rencontré ce problème en exécutant Docker sur mon MAC (hôte) avec Docker VM dans VBOX 5.10. C'est un problème de réseautage. La solution simple consiste à ajouter un réseau ponté à l'image VBOX. Vous pouvez utiliser la configuration NAT incluse présente avec la machine virtuelle, mais vous devez changer le port ssh de 50375 à 2375.


1
C'est ce qui a fonctionné pour moi (VirtualBox 5.0.10r104061 sur Windows 10 Pro). Notez aux débutants plus récents que moi que vous devrez le faire docker-machine stop default, puis ajoutez le réseau dans le gestionnaire VirtualBox, puis docker-machine start default(changez par défaut le nom de votre machine si nécessaire). J'avais d'abord essayé la suggestion simple de redémarrage + eval env de @ Mark-Smith et cela ne l'a pas fait pour moi.
David Brown

@dbaOnTap Vous êtes une aubaine mon ami. Je suis coincé là-dessus depuis des jours. Exécuter Windows 10 Home avec VirtualBox Latest Test Build (5.0.15-10594) et la dernière boîte à outils Docker (1.10.0), c'est la seule chose qui a fonctionné pour moi.
cudacoder

4
sudo service docker stop
sudo service docker start

travaille pour moi..

en quelque sorte, sudo service docker restart n'a pas fonctionné

(RHEL7)


4

Sur Windows 7 et si vous pensez être derrière un proxy

  1. Se connecter à la machine par défaut

    $ docker-machine ssh default
    
  2. Mettre à jour le profil pour mettre à jour les paramètres du proxy

    docker@default:~$ sudo vi /var/lib/boot2docker/profile
    
  3. Ajouter ci-dessous, le cas échéant

    # replace with your office's proxy environment
    export"HTTP_PROXY=http://PROXY:PORT"
    export"HTTPS_PROXY=http://PROXY:PORT"
    
    # you can add more no_proxy with your environment.
    export"NO_PROXY=192.168.99.*,*.local,169.254/16,*.example.com,192.168.59.*"
    
  4. Sortie

    docker@default:~$ exit
    
  5. Redémarrez la machine Docker

    docker-machine restart default
    
  6. Mettre à jour les paramètres d'environnement

    eval $(docker-machine env default)
    

Les étapes ci-dessus sont légèrement modifiées, mais comme indiqué dans le guide de dépannage: https://docs.docker.com/toolbox/faqs/troubleshoot/#/update-varlibboot2dockerprofile-on-the-docker-machine


Dans mon cas, ça marche, mais j'ai supprimé export"HTTP_PROXY=http://PROXY:PORTet `... HTTPS_PROXY ...` car le net est accessible directement sans authentification.
Muka

2

J'ai rencontré ce même problème hier et aucune des réponses "populaires" (comme la fixation de DNS à 8.8.8.8) n'a fonctionné pour moi. Je suis finalement arrivé à travers ce lien, et cela a fait l'affaire ... https://github.com/docker/for-win/issues/16

Entre Docker pour Windows, Windows 10 et Hyper-V, il semble y avoir un problème lors du processus de création de l'adaptateur réseau virtuel. Plus précisément, vous pourriez vous retrouver avec deux adaptateurs réseau "vEthernet (DockerNAT)". Vérifiez cela avec Get-NetAdapter "vEthernet (DockerNAT)"(dans une console PowerShell élevée). Si le résultat affiche plusieurs adaptateurs, vous pouvez le désactiver et le renommer avec:

$vmNetAdapter = Get-VMNetworkAdapter -ManagementOS -SwitchName DockerNAT
Get-NetAdapter "vEthernet (DockerNAT)" | ? { $_.DeviceID -ne $vmNetAdapter.DeviceID } | Disable-NetAdapter -Confirm:$False -PassThru | Rename-NetAdapter -NewName "OLD"

Ouvrez ensuite le Gestionnaire de périphériques et supprimez l'adaptateur désactivé (pour une raison quelconque, vous pouvez le faire à partir d'ici, mais pas à partir de la vue des adaptateurs du Centre Réseau et partage).


1

Je suppose que vous avez un problème de réseau. Êtes-vous derrière un proxy? Est-il possible qu'il filtre la connexion docker.ioou bloque l'agent utilisateur Docker?

J'ai installé la boîte à outils et exécuté votre test. Ça marche bien, ici:

docker is configured to use the default machine with IP 192.168.99.101
For help getting started, check out the docs at https://docs.docker.com

bash-3.2$ docker run hello-world
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world

535020c3e8ad: Pull complete 
af340544ed62: Already exists 
library/hello-world:latest: The image you are pulling has been verified. Important: image verification is a tech preview feature and should not be relied on to provide security.
Digest: sha256:d5fbd996e6562438f7ea5389d7da867fe58e04d581810e230df4cc073271ea52
Status: Downloaded newer image for hello-world:latest

Hello from Docker.
This message shows that your installation appears to be working correctly.

To generate this message, Docker took the following steps:
 1. The Docker client contacted the Docker daemon.
 2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
 3. The Docker daemon created a new container from that image which runs the
    executable that produces the output you are currently reading.
 4. The Docker daemon streamed that output to the Docker client, which sent it
    to your terminal.

To try something more ambitious, you can run an Ubuntu container with:
 $ docker run -it ubuntu bash

Share images, automate workflows, and more with a free Docker Hub account:
 https://hub.docker.com

For more examples and ideas, visit:
 https://docs.docker.com/userguide/

bash-3.2$

J'ai réinstallé Docker-Toolbox et maintenant cela semble fonctionner
Daydreamer

1
J'ai supprimé la machine existante que j'ai créée à l'aide de l'option de force et l'ai recréée - cela fonctionne. docker-machine rm -f <machine_name>
user1189332

1

Sous Windows 10. Cliquez avec le bouton droit de la souris sur l'icône de la barre d'état système -> Paramètres ... -> Reste -> Redémarrer Docker


0

J'ai eu ce même problème avec boot2docker et l'ai résolu en le redémarrant avec:

boot2docker restart

boot2docker est déconseillé
Ultrasaurus

0

Je viens de rencontrer cela aujourd'hui 1.10.1et aucune des solutions existantes n'a fonctionné. J'ai essayé de redémarrer, mettre à niveau, régénérer des certificats, ...

J'ai remarqué que j'avais beaucoup de réseaux créés sur la machine. Après les avoir retirés avec:

docker network ls | grep bridge | awk '{print $1}' | xargs -n1 docker network rm

Le DNS a recommencé à fonctionner.

Remarque: vous pouvez ignorer les erreurs concernant les réseaux prédéfinis


0

Si vous êtes derrière un proxy, il ne suffit pas de définir HTTP_PROXYetHTTPS_PROXY env. Vous devez le définir lors de la création de la machine.

Le paramètre pour cela est --engine-env:

docker-machine create -d "virtualbox" --engine-env HTTP_PROXY=http://<PROXY>:<PORT> --engine-env HTTPS_PROXY=<PROXY>:<PORT> dev

0

Dans mon cas, en installant docker sur Alpine Linux, j'obtiens l'erreur:

Le réseau a expiré lors de la tentative de connexion à https://index.docker.io/v1/repositories/library/ ........

En utilisant le script ici: https://github.com/docker/docker/blob/master/contrib/download-frozen-image-v2.sh

Travaux. Il télécharge l'image à l'aide de curl, puis vous montre comment la décompresser et la «charger par docker».

J'ai essayé les méthodes ci-dessus de DNS statique en 8.8.8.8 et en désactivant ipv6 (je ne comprenais pas le proxy) et aucune d'entre elles n'a fonctionné pour moi.

EDIT 9/8/2016:

J'utilisais initialement dropbear au lieu de openssh. Alpine réinstallé avec openssh a résolu le problème.

Le problème suivant était l'erreur «ApplyLayer exit status 1 stdout: stderr: chmod / bin / mount: permission refusée» pendant l'extraction.

De (nixaid.com/grsec-in-docker/):

Pour créer l'image Docker, j'ai dû désactiver les protections grsec suivantes. Modifiez le fichier /etc/sysctl.d/grsec.conf comme suit:

kernel.grsecurity.chroot_deny_chmod = 0 kernel.grsecurity.chroot_deny_mknod = 0 kernel.grsecurity.chroot_caps = 0 # lié à un package systemd / CAP_SETFCAP

dans le cas alpin bien qu'il soit

/etc/sysctl.d/00-alpine.conf

redémarrer


Je me rends compte que ce n'est pas le cas ici, mais pour l'avenir: désactiver IPv6 n'est jamais une bonne réponse. Si la désactivation d'IPv6 «résout» un problème, le vrai problème se situe ailleurs.
Stephen

0

Redémarrer Docker ou recréer l'image n'a pas aidé. J'ai redémarré Windows en vain.

Étonnamment, lorsque je suis entré dans le conteneur en cours d'exécution et que curl https://index.docker.io/v1/repositories/library/hello-world/imagesj'ai obtenu une réponse parfaitement valide.

J'ai utilisé la Docker Toolbox avec VirtualBox sur Windows 10 Pro 64 bits.

La solution dans mon cas était de désinstaller l'ancienne version Docker et d' installer la nouvelle qui utilise Hyper-V au lieu de VirtualBox.

Docker fonctionne à nouveau.


0

Si vous êtes derrière le proxy, veuillez utiliser les commandes ci-dessous

sudo mkdir /etc/systemd/system/docker.service.d

sudo cd /etc/systemd/system/docker.service.d

sudo vi http-proxy.conf
[Service]

Environment=HTTP_PROXY=http://proxy-server-ip:port" "NO_PROXY=localhost,127.0.0.1"

sudo systemctl daemon-reload 

sudo systemctl show --property=Environment docker

sudo systemctl restart docker

Essayez ceci si vous pouvez récupérer le dernier ubuntu

sudo docker run -it ubuntu bash

Impossible de trouver l'image ubuntu:latestlocalement

dernier: extraction de la bibliothèque / ubuntu b3e1c725a85f: extraction complète

4daad8bdde31: Pull complet

63fe8c0068a8: Pull complet

4a70713c436f: traction complète

bd842a2105a8: Pull complet

Digérer:

sha256: 7a64bc9c8843b0a8c8b8a7e4715b7615e4e1b0d8ca3c7e7a76ec8250899c397a

Statut: Image plus récente téléchargée pour Ubuntu: dernière

Cela a finalement fonctionné pour moi :)


0

Autre scénario: si votre carte réseau docker est désactivée, elle échouera avec cette erreur. L'adaptateur est nommé "vEthernet (DockerNAT)" ou similaire. Apparemment, cet adaptateur est impliqué d'une manière ou d'une autre dans le comportement normal de traction du docker. Réactivez-le pour résoudre le problème.


0

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

$ sudo mkdir -p /etc/systemd/system/docker.service.d

Créez un fichier appelé /etc/systemd/system/docker.service.d/http-proxy.conf qui ajoute la HTTP_PROXYvariable d'environnement:

[Un service]

Environment="HTTP_PROXY=http://proxy.example.com:80/"

J'espère que ça aide


-1

Sous Windows, cela s'est produit lorsque je suis passé d'un réseau professionnel à un réseau domestique.

Pour le résoudre, exécutez:

  1. docker-machine stop
  2. docker-machine start
  3. docker-env
  4. "C:\Program Files\Docker Toolbox\docker-machine.exe" env | Invoke-Expression
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.