web-dev-qa-db-fra.com

Comment réparer les erreurs "Erreur lors de l'extraction d'images ... trop de redirections" de Docker lors de l'extraction d'images à partir du registre?

J'utilise Docker via CoreOS et Vagrant sous OS X 10.10.

Lorsque je lance docker pull ubuntu dans CoreOS, les erreurs suivantes sont générées:

$ docker pull ubuntu
Pulling repository ubuntu
cc0067db4f11: Error pulling image (precise) from ubuntu, endpoint: https://cdn-registry-1.docker.io/v1/, Get https://cdn-registry-1.docker.io/v1/images/cc0067db4f11198ef6fd0435f96a973e559b1cebfceb2bc8e4fe527b32045c2f/ancestry: dial tcp: lookup cdn-registry-1.dcc0067db4f11: Error pulling image (precise) from ubuntu, Get https://cdn-registry-1.docker.io/v1/images/cc0067db4f11198ef6fd0435f96a973e559b1cebfceb2bc8e4fe527b32045c2f/ancestry: dial tcp: lookup cdn-registry-1.docker.io on [10.0.2.3]:53: too many redirects 
6006e6343fad: Error pulling image (quantal) from ubuntu, endpoint: https://cdn-registry-1.docker.io/v1/, Get https://cdn-registry-1.docker.io/v1/images/6006e6343fadaaeb5dd98436a3cd17eac8c03cabca1ed4c8778d039e72ebcc9c/ancestry: dial tcp: lookup cdn-registry-1.d6006e6343fad: Error pulling image (quantal) from ubuntu, Get https://cdn-registry-1.docker.io/v1/images/6006e6343fadaaeb5dd98436a3cd17eac8c03cabca1ed4c8778d039e72ebcc9c/ancestry: dial tcp: lookup cdn-registry-1.docker.io on [10.0.2.3]:53: too many redirects 
7656cbf56a8c: Error pulling image (13.04) from ubuntu, endpoint: https://cdn-registry-1.docker.io/v1/, Get https://cdn-registry-1.docker.io/v1/images/7656cbf56a8c831de71ef43809b04fcf8125e7b039250835b6c5f6f280daf12e/ancestry: dial tcp: lookup cdn-registry-1.doc7656cbf56a8c: Error pulling image (13.04) from ubuntu, Get https://cdn-registry-1.docker.io/v1/images/7656cbf56a8c831de71ef43809b04fcf8125e7b039250835b6c5f6f280daf12e/ancestry: dial tcp: lookup cdn-registry-1.docker.io on [10.0.2.3]:53: too many redirects 
3db9c44f4520: Error pulling image (lucid) from ubuntu, endpoint: https://cdn-registry-1.docker.io/v1/, Get https://cdn-registry-1.docker.io/v1/images/3db9c44f45209632d6050b35958829c3a2aa256d81b9a7be45b362ff85c54710/ancestry: dial tcp: lookup cdn-registry-1.doc3db9c44f4520: Error pulling image (lucid) from ubuntu, Get https://cdn-registry-1.docker.io/v1/images/3db9c44f45209632d6050b35958829c3a2aa256d81b9a7be45b362ff85c54710/ancestry: dial tcp: lookup cdn-registry-1.docker.io on [10.0.2.3]:53: too many redirects 
5cf8fd909c6c: Error pulling image (trusty) from ubuntu, endpoint: https://cdn-registry-1.docker.io/v1/, Get https://cdn-registry-1.docker.io/v1/images/5cf8fd909c6ccc61199df6dbeb165767b83c23842ef49ca3ef3b81ece1bdce4f/ancestry: dial tcp: lookup cdn-registry-1.do5cf8fd909c6c: Error pulling image (trusty) from ubuntu, Get https://cdn-registry-1.docker.io/v1/images/5cf8fd909c6ccc61199df6dbeb165767b83c23842ef49ca3ef3b81ece1bdce4f/ancestry: dial tcp: lookup cdn-registry-1.docker.io on [10.0.2.3]:53: too many redirects 
d2099a5ba6c5: Error pulling image (saucy) from ubuntu, endpoint: https://cdn-registry-1.docker.io/v1/, Get https://cdn-registry-1.docker.io/v1/images/d2099a5ba6c5a0f94f84162d69b4cb79b47c7ea1768550c6cee55a7ba2dc3647/ancestry: dial tcp: lookup cdn-registry-1.docd2099a5ba6c5: Error pulling image (saucy) from ubuntu, Get https://cdn-registry-1.docker.io/v1/images/d2099a5ba6c5a0f94f84162d69b4cb79b47c7ea1768550c6cee55a7ba2dc3647/ancestry: dial tcp: lookup cdn-registry-1.docker.io on [10.0.2.3]:53: too many redirects 
2014/06/05 12:17:11 Could not find repository on any of the indexed registries.

J'apprécierais vraiment si quelqu'un pouvait me donner un conseil utile sur la façon de résoudre ce problème.

27
Trung Lê

Essayez cette solution de contournement temporaire:

osx$ boot2docker up
osx$ boot2docker ssh
docker@boot2docker$ Sudo echo "nameserver 8.8.8.8" > /etc/resolv.conf
docker@boot2docker$ Sudo /etc/init.d/docker restart

Cela fonctionne jusqu'au redémarrage.

49
vk2

Je ne connais pas OS X, mais cela pourrait arriver sous Linux à cause de "mauvais" /etc/resolv.conf sur l'hôte. Par exemple, Ubuntu met quelque chose comme:

nameserver 127.0.1.1

et gère ensuite les demandes DNS via un service. Le problème est que ceci est accessible de l'intérieur de l'image.

Pour résoudre ce problème, j'ai dû ajouter des serveurs de noms externes, tels que:

nameserver 127.0.1.1
nameserver 8.8.8.8
nameserver 8.8.4.4
4
ivant

10.0.2.3 est un serveur DNS Virtualbox, vérifiez Réglage précis du moteur VirtualBox NAT

Vous pouvez, comme autre suggestion, utiliser 8.8.8.8 qui est un serveur google dns.

# /etc/resolve.conf
nameserver 8.8.8.8

Et si vous travaillez sur un intranet, remplacez-le par votre serveur DNS normal, auquel vous pouvez ajouter search ainsi que ci-dessous.

# /etc/resolve.conf
nameserver xxx.xxxx.xxx
search company.com

Ce sera bien pour accéder à votre repo privé

3
Larry Cai

J'ai eu un problème similaire en essayant d'extraire un conteneur du référentiel de docker avec cette commande: 
docker pull ubuntu

Notez que j’utilisais coreos dans virtualbox et que j’utilisais Nat comme configuration réseau pour accéder à Internet. Lors du changement de mode réseau avec virtualbox, je ne pouvais rien tirer.

J'ai résolu le problème en redémarrant docker avec systemctl en lançant cette commande:
docker de redémarrage Sudo systemctl

Et puis mon pull a bien fonctionné. J'espère que cette solution vous a aidé. Et je l'ai tiré d'un problème de groupe de Google abordé par l'un des créateurs de CoreOS (Brandon Philips) via ce lien: https://groups.google.com/forum/ #! topic/coreos-dev/vWqSbPgNYro

3
douggynix

Sur MacOSX, si vous utilisez Docker Machine, vous pouvez essayer de:

 docker-machine ls
 docker-machine ssh YOUR_VM_NAME

puis à partir de la VM: tuez le processus/usr/local/bin/docker et redémarrez-le manuellement

 Sudo /usr/local/bin/docker -d -D -g /var/lib/docker -H unix:// -H tcp://0.0.0.0:2376 --label provider=virtualbox --tlsverify --tlscacert=/var/lib/boot2docker/ca.pem --tlscert=/var/lib/boot2docker/server.pem --tlskey=/var/lib/boot2docker/server-key.pem -s aufs

Curieusement, redémarrer comme ça

Sudo /etc/init.d/docker restart

n'aide pas.

0
mjaskowski

Sur Windows, j'ai pu résoudre ce problème en procédant comme suit:

  1. Aller à l'application de boîte virtuelle
  2. Supprimer le VM créé
  3. Redémarrer l'ordinateur (facultatif, je pense)
  4. Démarrer Kitematic
  5. Retour à Virtual Box, hit show
  6. Assurez-vous que la commande ping google.com fonctionne 

Je peux maintenant télécharger des images de menu fixe à partir du hub.

0
Vijay Vepakomma