2015-03-05 17 views
15

Ich versuche, ein Schwarm-Setup auf meinem Laptop zu erstellen. Ich benutze einen Schwarm-Daemon auf dem Laptop und führe 2 Ubuntu 14.04 VM als Docker-Knoten aus. Auf einem der Knoten (VM) kann ich einen Schwarm ausführen und ich kann mich mit dem Schwarm-Daemon verbinden. Ich kann den Knoten mit Docker-Info auflisten und einen Contianer darauf spannen. Aber wenn ich versuche Schwarm Bild auf einem anderen VM-Knoten zu ziehen, bekomme ich folgende Fehlermeldung:Docker Bild kann nicht aus dem Repository heruntergeladen werden

[email protected]:~$ sudo docker pull swarm 
Pulling repository swarm 
FATA[0025] Get https://index.docker.io/v1/repositories/library/swarm/images: dial tcp: lookup index.docker.io on 127.0.1.1:53: read udp 127.0.1.1:53: i/o timeout 

Ich habe und jemand sagte, es ist ein Proxy-Problem. Aber ich benutze keinen Proxy-Server. Hier sind andere relevante Informationen:

[email protected]:~$ sudo docker version 
Client version: 1.5.0 
Client API version: 1.17 
Go version (client): go1.4.1 
Git commit (client): a8a31ef 
OS/Arch (client): linux/amd64 
Server version: 1.5.0 
Server API version: 1.17 
Go version (server): go1.4.1 
Git commit (server): a8a31ef 

Hier ist meine/etc/default/Docker:

[email protected]:~$ cat /etc/default/docker 
# Docker Upstart and SysVinit configuration file 

# Customize location of Docker binary (especially for development testing). 
#DOCKER="/usr/local/bin/docker" 

# Use DOCKER_OPTS to modify the daemon startup options. 
#DOCKER_OPTS="--dns 8.8.8.8 --dns 8.8.4.4" 

# If you need Docker to use an HTTP proxy, it can also be specified here. 
#export http_proxy="http://127.0.0.1:3128/" 

# This is also a handy place to tweak where Docker's temporary files go. 
#export TMPDIR="/mnt/bigdrive/docker-tmp" 

Jede Idee, über das, was mache ich falsch?

Update:

Okay, das ist etwas anderes. Ich habe das alles von zuhause aus versucht. Heute morgen bin ich ins Büro gekommen, eingeloggt und voila, ich konnte das Bild ziehen! Nicht sicher, was der Grund ist, aber sieht aus, als würde ich ins Büro kommen müssen, um Docker Bilder zu ziehen!

Danke,

+3

Ich verwende boot2docker und ich kann mit der „timeout“ Problem lösen, indem Sie einfach einen Neustart boot2docker wie hier beschrieben https://forums.docker.com/t/ zieh-docker-images-io-timeout/740/4 – Serg

+1

Ich bin auch mit diesem Problem konfrontiert, jede Lösung, jemand? – user859375

Antwort

3

Diese Meldung Fehler:

  • Lookup index.docker.io auf 127.0.1.1:53: i/o Timeout
: udp 127.0.1.1:53 lesen

teilt mit, dass die Verbindung zum lokalen DNS-Server (127.0.1.1:53) mit einer Zeitüberschreitung endet.

Ich vermute, dass dieses Problem mit der Netzwerk/DNS-Konfiguration auf der virtuellen Maschine verbunden ist.

2

Ich hatte das gleiche Problem, meine Lösung hierfür ist, führen Sie folgende Befehle ein.

Dies löschen im Grunde die VM-Image-Verwendung von Boot2docker und neu starten. Dadurch werden Ihre lokalen Bilder nicht gelöscht. Führen Sie anschließend den Befehl docker pull aus.

8

für moderne Zeiten aktualisiert:

docker-machine stop default 
docker-machine start default 

(es docker-machine restart default nicht behoben werden).

+0

Neustart behebt es für mich Mitte 2016 –

-1

Versuchen Sie, diese

sudo apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D 

für mich gearbeitet.

2

Ich habe alle Lösungen versucht, die angegeben sind, aber sie haben nicht geholfen.Was das Problem für mich festgelegt ist die Spitze here geschrieben,

docker-machine sssh 
echo "nameserver 8.8.8.8" > /etc/resolv.conf 
exit 
+1

Wenn Docker-Maschine gestartet wird, schreibt es den aufgelösten Nameserver des Routers nach '/ etc/resolv.conf'. Wenn Sie dann das Netzwerk wechseln (zwischen Heim und Büro sagen), ohne docker-machine neu zu starten, verwendet es den aufgelösten Nameserver aus dem Netzwerk, auf dem DM gestartet wurde. Diese Lösung ist schneller als ein Start/Stopp. Im nächsten Schritt werden wir meine Heimnetzwerke neu konfigurieren, um öffentliche Nameserver zu verwenden. Befehl oben sollte 'docker-machine ssh' lesen –

Verwandte Themen