Ich habe Docker-Toolbox gerade installiert, während ich ihrer Webseite folgte
Ich habe mit Docker QuickStart Terminal
angefangen und sehe folgendes
## .
## ## ## ==
## ## ## ## ## ===
/"""""""""""""""""\___/ ===
~~~ {~~ ~~~~ ~~~ ~~~~ ~~~ ~ / ===- ~~~
\______ 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$
Aber wenn ich versuche, docker pull hello-world
auszuführen, sehe ich Folgendes
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$
Was ist falsch?
Ich hatte heute morgen das gleiche Problem und Folgendes wurde für mich behoben:
$ docker-machine restart default # Restart the environment
$ eval $(docker-machine env default) # Refresh your environment settings
Es scheint, dass dies daran liegt, dass sich die virtuelle Docker-Maschine in einen seltsamen Zustand versetzt. Es gibt eine offene github Ausgabe hier
Ich habe Docker ohne die Toolbox unter Windows 10 installiert. Die Version, für die Hyper-V erforderlich ist, muss aktiviert sein.
Bei Docker Version 1.12 musste ich in die Taskleiste gehen, mit der rechten Maustaste auf das Docker-Symbol klicken, Einstellungen -> Netzwerk auswählen und den DNS-Server auf "Fest" einstellen, sodass der DNS-Server von Google unter 8.8.8.8
verwendet wird.
Sobald diese Einstellung geändert wurde, hat es endlich funktioniert.
Die einfachere Lösung besteht darin, den folgenden Eintrag in/etc/default/docker file hinzuzufügen
export http_proxy = "http: // Host: PORT /"
und starten Sie den Andockdienst neu
Service Docker Neustart
Update August 2016
Bei Verwendung von Docker für Mac (Version 1.12.0) wurden Probleme mit dem Formular angezeigt:
➜ 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`
Dieses Problem wurde behoben, indem meine drahtlosen MacBook Pro-Netzwerkeinstellungen mit folgendem DNS-Eintrag aktualisiert wurden: 8.8.8.8
Weitere Informationen finden Sie in dieser (datierten) Ausgabe , die die hier gegebene Antwort lieferte.
Ich habe dieses Problem mit Docker auf meinem MAC (Host) mit Docker VM in VBOX 5.10 ausgeführt. Es ist ein Netzwerkproblem. Die einfache Lösung besteht darin, dem VBOX-Image ein überbrücktes Netzwerk hinzuzufügen. Sie können die mitgelieferte NAT - Konfiguration der VM verwenden, aber Sie müssen den SSH-Port von 50375 auf 2375 ändern.
Sudo service docker stop
Sudo service docker start
funktioniert bei mir..
irgendwie hat Sudo service docker restart
nicht funktioniert
(RHEL7)
Gestern bin ich auf genau dasselbe Problem gestoßen und keine der "populären" Antworten (wie das Fixieren von DNS auf 8.8.8.8) funktionierte für mich. Irgendwann bin ich über diesen Link hinweggekommen, und das hat den Trick gebracht ... https://github.com/docker/for-win/issues/16
Zwischen Docker für Windows, Windows 10 und Hyper-V scheint ein Problem beim Erstellen des virtuellen Netzwerkadapters zu bestehen. Insbesondere erhalten Sie möglicherweise zwei Netzwerkadapter "vEthernet (DockerNAT)". Überprüfen Sie dies mit Get-NetAdapter "vEthernet (DockerNAT)"
(in einer erhöhten PowerShell-Konsole). Wenn das Ergebnis mehr als einen Adapter anzeigt, können Sie es deaktivieren und umbenennen mit:
$vmNetAdapter = Get-VMNetworkAdapter -ManagementOS -SwitchName DockerNAT
Get-NetAdapter "vEthernet (DockerNAT)" | ? { $_.DeviceID -ne $vmNetAdapter.DeviceID } | Disable-NetAdapter -Confirm:$False -PassThru | Rename-NetAdapter -NewName "OLD"
Öffnen Sie dann den Geräte-Manager und löschen Sie den deaktivierten Adapter (aus irgendeinem Grund können Sie dies von hier aus tun, jedoch nicht aus der Ansicht des Netzwerk- und Freigabecenter-Adapters).
Anmeldung am Standardrechner
$ docker-machine ssh default
Aktualisieren Sie das Profil, um die Proxy-Einstellungen zu aktualisieren
[email protected]:~$ Sudo vi /var/lib/boot2docker/profile
Füge von unten entsprechend hinzu
# 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.*"
Ausgang
[email protected]:~$ exit
Starten Sie die Docker-Maschine neu
docker-machine restart default
Umgebungseinstellungen aktualisieren
eval $(docker-machine env default)
Die obigen Schritte sind geringfügig angepasst, jedoch wie im Handbuch zur Fehlerbehebung beschrieben: https://docs.docker.com/toolbox/faqs/troubleshoot/#/update-varlibboot2dockerprofile-on-the-docker-machine
Unter Windows 10. Klicken Sie mit der rechten Maustaste auf das Systray Docker-Symbol-> Einstellungen ... -> Zurücksetzen -> Docker neu starten
Ich gehe davon aus, dass Sie ein Netzwerkproblem haben. Stehst du hinter einem Proxy? Ist es möglich, dass die Verbindung zu docker.io
gefiltert wird oder der Docker-Benutzeragent blockiert wird?
Ich habe die Toolbox installiert und den Test ausgeführt. Es funktioniert gut, hier:
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$
In meinem Fall bekomme ich bei der Installation von Docker unter Alpine Linux den Fehler:
Das Zeitlimit für das Netzwerk ist überschritten, als versucht wurde, eine Verbindung zu https://index.docker.io/v1/repositories/library/ ........ herzustellen.
Verwenden Sie das Skript hier: https://github.com/docker/docker/blob/master/contrib/download-frozen-image-v2.sh
Arbeitet. Es lädt das Bild mit curl herunter und zeigt Ihnen dann, wie Sie das Laden des Dockers und das Laden des Dockers aufheben können.
Ich habe die obigen Methoden des statischen DNS bei 8.8.8.8 und die Deaktivierung von ipv6 ausprobiert (ich habe die Proxy-Sache nicht verstanden) und keiner von ihnen hat für mich funktioniert.
EDIT 9/8/2016:
Ich habe anfangs Dropbear anstelle von Opensh verwendet. Neu installiert Alpine mit openssh behebt das Problem.
Das nächste Problem war der Fehler "ApplyLayer-Exit-Status 1 stdout: stderr: chmod/bin/mount: Berechtigung verweigert" während des Pull-Vorgangs.
Von (nixaid.com/grsec-in-docker/):
Um das Docker-Image zu erstellen, musste ich die folgenden grsec .__ deaktivieren. Schutzmaßnahmen. Ändern Sie die /etc/sysctl.d/grsec.conf wie folgt:
kernel.grsecurity.chroot_deny_chmod = 0 kernel.grsecurity.chroot_deny_mknod = 0 kernel.grsecurity.chroot_caps = 0 # bezogen auf ein systemd-Paket/CAP_SETFCAP
in Alpines Fall ist es jedoch
/etc/sysctl.d/00-Alpine.conf
neustart
Erstellen Sie ein Systemd-Drop-In-Verzeichnis für den Andockdienst:
$ Sudo mkdir -p /etc/systemd/system/docker.service.d
Erstellen Sie eine Datei mit dem Namen /etc/systemd/system/docker.service.d/http-proxy.conf
, die die Umgebungsvariable HTTP_PROXY
hinzufügt:
[Bedienung]
Environment="HTTP_PROXY=http://proxy.example.com:80/"
Ich hoffe es hilft
Der Neustart von Docker oder das erneute Erstellen des Images hat nicht geholfen. Ich habe Windows ohne Erfolg neu gestartet.
Erstaunlicherweise erhielt ich eine absolut gültige Antwort, als ich in den laufenden Container ssh'ed und curl https://index.docker.io/v1/repositories/library/hello-world/images
eingegeben hatte.
Ich habe die Docker Toolbox mit VirtualBox unter 64bit Windows 10 Pro verwendet.
In meinem Fall bestand die Lösung darin, die alte Docker-Version zu deinstallieren und die neue Version zu installieren, die Hyper-V anstelle von VirtualBox verwendet.
Jetzt funktioniert Docker wieder.
Ein anderes Szenario: Wenn Ihr Docker-Netzwerkadapter deaktiviert ist, schlägt dieser Fehler fehl. Der Adapter heißt "vEthernet (DockerNAT)" oder ähnlich. Anscheinend ist dieser Adapter irgendwie am normalen Docker-Pull-Verhalten beteiligt. Aktivieren Sie es wieder, um das Problem zu lösen.
Wenn Sie sich hinter einem Proxy befinden, reicht es nicht aus, HTTP_PROXY
und HTTPS_PROXY
env einzustellen. Sie sollten es während der Maschinenerstellung einstellen.
Paramer hierfür ist --engine-env
:
docker-machine create -d "virtualbox" --engine-env HTTP_PROXY=http://<PROXY>:<PORT> --engine-env HTTPS_PROXY=<PROXY>:<PORT> dev
Wenn Sie sich hinter einem Proxy befinden, verwenden Sie bitte die folgenden Befehle
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
Versuchen Sie dies, wenn Sie das neueste Ubuntu abrufen können
Sudo docker run -it ubuntu bash
Bild ubuntu:latest
kann nicht lokal gefunden werden
späteste: Aus Bibliothek/Ubuntu ziehen b3e1c725a85f: Ziehen Sie den Vorgang ab
4daad8bdde31: Ziehen Sie den Vorgang ab
63fe8c0068a8: Ziehen abgeschlossen
4a70713c436f: Ziehen abgeschlossen
bd842a2105a8: Ziehen Sie den Vorgang ab
Verdauen:
sha256: 7a64bc9c8843b0a8c8b8a7e4715b7615e4e1b0d8ca3c7e7a76ec8250899c397a
Status: Neueres Bild für Ubuntu heruntergeladen: Latest
Es hat endlich für mich funktioniert :)
Ich hatte das gleiche Problem mit boot2docker und behebte es durch einen Neustart mit:
boot2docker restart
Ich bin heute gerade mit 1.10.1
darauf gestoßen und keine der bestehenden Lösungen hat funktioniert. Ich habe versucht, Zertifikate neu zu starten, zu aktualisieren, zu regenerieren, ...
Ich habe festgestellt, dass auf dem Computer viele Netzwerke erstellt wurden. Nach dem Entfernen mit:
docker network ls | grep bridge | awk '{print $1}' | xargs -n1 docker network rm
Der DNS hat wieder funktioniert.
Hinweis: Sie können Fehler in vordefinierten Netzwerken ignorieren.