2017-04-21 3 views
0

Ich kann Docker Bilder in meiner Umgebung nicht ziehen. Ich denke, es ist durch Firmen Firewall blockiert, aber ich bin mir nicht sicher, warum es Schicht Informationen und später Es druckt, dass das Repository nicht gefunden wird.Kann Docker Bild nicht ziehen - Repository nicht gefunden

sudo docker pull hello-world 
latest: Pulling from hello-world 
50a54e1f9180: Pulling fs layer 
7a5a2d73abce: Pulling fs layer 
Pulling repository hello-world 
Repository not found 

Docker Version: (I neueste Docker auf RHEL nicht aktualisieren können 6,9)

Docker version 1.7.1, build 786b29d/1.7.1 

mir jemand erklären könnte, welche Protokolle (https nur?) Während Docker Bildphase verwendet werden, ziehen und welche Adressen sind kontaktiert ("https://registry-1.docker.io/v2" nur?)?

Antwort

1

Problem war, dass Firewall Verbindungen während des Ziehens von Bildern blockierte. Docker-Registrierung verwendet CDN, sodass mehr URLs zugelassen werden müssen und nicht nur die Registrierungs-URL.

Ich habe gebeten, die folgenden URLs auf Firmen-Firewall zulassen und es funktioniert jetzt.

Docker Protokolldatei (/ var/log/docker) hilft mir, Root-Problem zu identifizieren. gab es folgende Fehler:

level=error msg="Error from V2 registry: Get https://dseasb33srnrn.cloudfront.net/registry-v2/docker/registry/v2/blobs/sha256/78/78445dd45222097f5f8d5a16e48dc19c4ca162dcdb80010ab6f1ccfc7e2c0fa3/data?Expires=1493033299&Signature=DiEmffSxF1F9z-SRoGyX3NwzfeQY3BhE2Du3aPb1qy9VglXyn1mus7Xy9Y~DQnwaQ9IIN71FboK5lOAiN1Qj-x662qhioi72CJ-v02fiMHqC03FDb0l4LyULquU8GaalW3uZG4hdfuSqOBQ1qo9HEcxhMyQGqOqpfPUKjUlHqm8_&Key-Pair-Id=APKAJECH5M7VWIS5YZ6Q: read tcp 52.85.173.110:443: connection reset by peer" 

Die Liste der URLs, die ich hier erlaubt werden muss gefunden: https://forums.docker.com/t/list-of-docker-hub-mirror-sites-to-configure-proxy-whitelist/20845/2

1

Docker-Bilder können aus mehreren Ebenen bestehen. Standardmäßig zieht der Docker-Daemon drei Ebenen eines Bildes gleichzeitig, zieht aber weniger, wenn ein Bild weniger Ebenen aufweist. Wenn kein Tag angegeben ist, verwendet Docker Engine standardmäßig das Tag :latest. Oben ist ein grundlegendes Protokoll Ihrer Pull-Anforderung, das angibt, dass Andockfenster versucht, Ebenen des Bildes zu ziehen, aber fehlschlägt, möglicherweise aufgrund von Firewall-Einschränkungen oder einer älteren Docker-Version.

Docker verwendet das https:// Protokoll mit einer Registrierung zu kommunizieren, es sei denn, die Registrierung über ein unsicheres Verbindung zugegriffen werden darf.

nicht sicher, was alle Adressen, die er versucht zu verbinden, ein Bild zu ziehen.

+0

Wenn Firewall blockiert die Kommunikation dann sollten Docker keine Informationen über Schichten erhalten ... oder bin ich falsch ? – martinsefcik

+0

Jedes Docker-Image verweist auf eine Liste schreibgeschützter Layer, die Dateisystemunterschiede darstellen. Ebenen werden übereinander gestapelt, um eine Basis für das Root-Dateisystem eines Containers zu bilden. Was {fs} hier bedeutet, ist {filesystem} – qwerty

+0

@martinsefcik In diesem Fall wird auch 'Pulling fs layer' angezeigt. – qwerty

Verwandte Themen