Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
In einigen Fällen kann die Ausführung eines Docker-Befehls für Amazon ECR zu einer Fehlermeldung führen. Nachstehend finden Sie einige häufige Fehlermeldungen und mögliche Lösungen.
Themen
- Docker-Protokolle enthalten keine erwarteten Fehlermeldungen
- Fehler: "Überprüfung des Dateisystems fehlgeschlagen" oder "404: Image nicht gefunden" beim Abrufen eines Images aus einem Amazon-ECR-Repository
- Fehler: "Filesystem Layer Verification Failed" beim Abrufen von Images aus Amazon ECR
- HTTP 403-Fehler oder "keine grundlegenden Berechtigungsnachweise"-Fehler beim Pushen zum Repository
Docker-Protokolle enthalten keine erwarteten Fehlermeldungen
Um mit dem Debuggen von Problemen im Zusammenhang mit Docker zu beginnen, aktivieren Sie zunächst die Docker-Debugging-Ausgabe auf dem Docker-Daemon, der auf Ihren Host-Instances ausgeführt wird. Wenn Sie Bilder verwenden, die aus Amazon ECR auf Amazon ECS-Container-Instances abgerufen wurden, finden Sie weitere Informationen unter Konfiguration der ausführlichen Ausgabe aus dem Docker-Daemon im Amazon Elastic Container Service Developer Guide.
Fehler: "Überprüfung des Dateisystems fehlgeschlagen" oder "404: Image nicht gefunden" beim Abrufen eines Images aus einem Amazon-ECR-Repository
Sie erhalten möglicherweise den Fehler Filesystem verification failed
, wenn Sie den Befehl docker pull verwenden, um ein Image aus einem Amazon ECR-Repository mit Docker 1.9 oder höher zu pullen. Sie können den Fehler 404: Image not
found
erhalten, wenn Sie Docker-Versionen vor 1.9 verwenden.
Nachfolgend finden Sie einige mögliche Ursachen und deren Erläuterungen.
- Der lokale Datenträger ist voll.
-
Wenn die lokale Festplatte, auf der Sie den Befehl docker pull ausführen, voll ist, kann sich der SHA-1-Hash, der für die lokale Datei berechnet wurde, von dem unterscheiden, der von Amazon ECR berechnet wurde. Vergewissern Sie sich, dass auf Ihrer lokalen Festplatte noch genügend freier Speicherplatz vorhanden ist, um das Docker-Image, das Sie pullen, zu speichern. Sie können alte Images auch löschen, um mehr Speicherplatz für neue freizusetzen. Mit dem Befehl docker images können Sie eine Liste aller lokal heruntergeladenen Docker-Images und deren Größe aufrufen.
- Der Client kann aufgrund eines Netzwerkfehlers keine Verbindung zum Remote-Repository herstellen.
-
Aufrufe eines Amazon ECR-Repositoriums erfordern eine funktionierende Verbindung zum Internet. Überprüfen Sie die Netzwerkeinstellungen und stellen Sie sicher, dass andere Tools und Anwendungen auf Ressourcen im Internet zugreifen können. Wenn Sie docker pull auf einer Amazon EC2-Instance in einem privaten Subnetz ausführen, stellen Sie sicher, dass das Subnetz eine Route zum Internet hat. Verwenden Sie einen NAT-Server (Network Address Translation) oder ein verwaltetes NAT-Gateway.
Derzeit erfordern Aufrufe an ein Amazon ECR-Repository auch einen Netzwerkzugang durch Ihre Unternehmensfirewall zu Amazon Simple Storage Service (Amazon S3). Wenn Ihre Organisation Firewall-Software oder ein NAT-Gerät verwendet, das Service-Endpunkte zulässt, stellen Sie sicher, dass die Amazon S3-Service-Endpunkte für Ihre aktuelle Region zugelassen sind.
Wenn Sie Docker hinter einem HTTP-Proxy nutzen, können Sie die entsprechenden Proxy-Einstellungen für Docker konfigurieren. Weitere Informationen finden Sie unter HTTP proxy
in der Docker-Dokumentation.
Fehler: "Filesystem Layer Verification Failed" beim Abrufen von Images aus Amazon ECR
Sie können die Fehlermeldung image image-name not found
erhalten, wenn Sie Images mit dem Befehl docker pull pullen. Bei der Überprüfung der Docker-Protokolle wird vielleicht folgender Fehler angezeigt:
filesystem layer verification failed for digest sha256:2b96f...
Dieser Fehler zeigt an, dass eine oder mehrere der Ebenen für Ihr Image nicht heruntergeladet werden konnten. Nachfolgend finden Sie einige mögliche Ursachen und deren Erläuterungen.
- Sie verwenden eine ältere Docker-Version.
-
Dieser Fehler tritt in einem sehr kleinen Prozentsatz der Fälle auf, wenn eine ältere Version als Docker 1.10 verwendet wird. Führen Sie ein Upgrade des Docker-Clients auf Version 1.10 oder neuer aus.
- Für den Client ist ein Netzwerk- oder Datenträgerfehler aufgetreten.
-
Aufgrund eines vollen Datenträgers oder eines Netzwerkproblems konnten nicht alle Layer heruntergeladen werden; dies wurde bereits zuvor für die Meldung
Filesystem verification failed
dargelegt. Befolgen Sie die obigen Empfehlungen, um sicherzustellen, dass Ihr Dateisystem nicht voll ist und dass Sie den Zugriff auf Amazon S3 von Ihrem Netzwerk aus aktiviert haben.
HTTP 403-Fehler oder "keine grundlegenden Berechtigungsnachweise"-Fehler beim Pushen zum Repository
Gelegentlich kann ein HTTP 403 (Forbidden)
-Fehler oder die Fehlermeldung no basic auth credentials
vom Befehl docker
push oder docker pull zurückgegeben werden, auch wenn Sie Docker erfolgreich für den Befehl aws ecr
get-login-password authentifiziert haben. Für dieses Problem sind folgende Ursachen bekannt:
- Sie haben die Authentifizierung für eine andere Region ausgeführt.
-
Authentifizierungsanforderungen sind an bestimmte Regionen geknüpft und nicht regionenübergreifend verwendbar. Wenn Sie beispielsweise ein Autorisierungs-Token aus US West (Oregon) erhalten, können Sie es nicht zur Authentifizierung gegenüber Ihren Repositories in US East (N. Virginia) verwenden. Stellen Sie zum Beheben des Problems sicher, dass Sie ein Authentifizierungs-Token aus derselben Region abgerufen haben, in der Ihr Repository vorhanden ist. Weitere Informationen finden Sie unter Authentifizierung in der privaten Registrierung bei Amazon ECR.
- Sie haben sich authentifiziert, um in ein Repository zu pushen, für das Sie keine Berechtigung haben
-
Sie verfügen nicht über die erforderlichen Berechtigungen, um einen Push in das Repository durchzuführen. Weitere Informationen finden Sie unter Richtlinien für private Repositorys in Amazon ECR.
- Ihr Token ist abgelaufen.
-
Standardmäßig laufen Autorisierungs-Token, die mit der Operation
GetAuthorizationToken
abgerufen wurden, nach 12 Stunden ab. - Im Programm zur Verwaltung von Anmeldeinformationen
wincred
liegt ein Fehler vor. -
Einige Docker for Windows-Versionen nutzen ein Programm zur Verwaltung von Anmeldeinformationen mit der Bezeichnung
wincred
. Dieses Programm kann den über aws ecr get-login-password ausgegebenen Docker-Anmeldebefehl nicht ordnungsgemäß verarbeiten (weitere Informationen finden Sie unter https://github.com/docker/docker/issues/22910). Sie können den ausgegebenen Docker-Anmeldebefehl ausführen, aber wenn Sie versuchen, Images zu pushen oder zu pullen, schlagen diese Befehle fehl. Dieser Fehler lässt sich umgehen, indem Sie das https://
-Schema aus dem Registrierungsargument des Docker-Anmeldebefehls entfernen, der eine Ausgabe des Befehls aws ecr get-login-password ist. Nachstehend finden Sie ein Beispiel für den Docker-Anmeldebefehl ohne HTTPS-Schema.docker login -u AWS -p
<password>
<aws_account_id>
.dkr.ecr.<region>
.amazonaws.com