CannotPullContainer Aufgabenfehler in Amazon ECS - Amazon Elastic Container Service

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.

CannotPullContainer Aufgabenfehler in Amazon ECS

Die folgenden Fehler weisen darauf hin, dass die Aufgabe nicht gestartet werden konnte, weil Amazon ECS das angegebene Container-Image nicht abrufen kann.

Anmerkung

Die 1.4 Fargate Plattformversion schneidet lange Fehlermeldungen ab.

Die Aufgabe kann das Image nicht abrufen. Vergewissern Sie sich, dass die Rolle berechtigt ist, Bilder aus der Registrierung abzurufen

Dieser Fehler weist darauf hin, dass die Aufgabe das in der Aufgabendefinition angegebene Bild aufgrund von Berechtigungsproblemen nicht abrufen kann. Die Fehlermeldung enthält zusätzliche Informationen, die das Bild oder die Rolle angeben, die das Problem verursacht haben.

„Fehlerantwort vom Daemon: Der Pull-Zugriff für das Repository wurde verweigert, ist nicht vorhanden oder erfordert möglicherweise 'Docker-Anmeldung': verweigert: Benutzer: roleARN ist nicht berechtigt,: ecr: BatchGetImage on resource: image auszuführen, da keine identitätsbasierte Richtlinie die ecr: -Aktion zulässt.“ BatchGetImage

So beheben Sie dieses Problem

  1. Überprüfen Sie, ob das Bild im i-Repository vorhanden ist. Informationen zum Anzeigen Ihrer Bilder finden Sie unter Bilddetails in Amazon ECR anzeigen im Amazon Elastic Container Registry-Benutzerhandbuch.

  2. Stellen Sie sicher, dass der Role-ARN über die richtigen Berechtigungen zum Abrufen des Bildes verfügt.

    Informationen zum Anzeigen und Ändern von Rollen finden Sie im Benutzerhandbuch unter Ändern einer Rolle.AWS Identity and Access Management

    Die Aufgabe verwendet eine der folgenden Rollen:

Die Aufgabe kann das Bild nicht abrufen. Überprüfen Sie Ihre Netzwerkkonfiguration

Dieser Fehler weist darauf hin, dass die Aufgabe keine Verbindung zu Amazon ECR herstellen kann.

Informationen zur Überprüfung und Lösung des Problems finden Sie unterÜberprüfung, ob Amazon ECS die Aufgabenkonnektivität beendet hat.

API-Fehler (500): Rufen Sie https://111122223333.dkr.ecr.us-east-1.amazonaws.com/v2/ ab: net/http: Anfrage wurde abgebrochen, während auf eine Verbindung gewartet wird

Dieser Fehler weist darauf hin, dass bei einer Verbindung das Zeitlimit überschritten wurde, da keine Route zum Internet existiert.

Um dieses Problem zu lösen, können Sie:

  • Für Aufgabe in öffentlichen Subnetzen geben Sie beim Starten der Aufgabe ENABLED unter Auto-assign public IP (Öffentliche IP automatisch zuweisen) an. Weitere Informationen finden Sie unter Eine Anwendung als Amazon ECS-Aufgabe ausführen.

  • Für Aufgaben in privaten Subnetzen geben Sie beim Starten der Aufgabe DISABLED (DEAKTIVIERT) für Auto-assign public IP (Öffentliche IP automatisch zuweisen) an und konfigurieren ein NAT-Gateway in Ihrer VPC, um Anforderungen an das Internet weiterzuleiten. Weitere Informationen finden Sie unter NAT-Gateways im Amazon VPC-Benutzerhandbuch.

API-Fehler

Dieser Fehler weist auf ein Verbindungsproblem mit dem Amazon ECR-Endpunkt hin.

Informationen zur Behebung dieses Problems finden Sie auf der AWS Support Website unter How can I resolve the Amazon ECR error "CannotPullContainerError: API error“ in Amazon ECS.

schreibe /var/lib/docker/tmp/ Blob111111111GetImage: kein Speicherplatz mehr auf dem Gerät

Dieser Fehler weist darauf hin, dass nicht genügend Speicherplatz vorhanden ist.

Um dieses Problem zu lösen, müssen Sie Speicherplatz freigeben.

Wenn Sie das Amazon ECS-optimierte AMI verwenden, können Sie den folgenden Befehl verwenden, um die 20 größten Dateien in Ihrem Dateisystem abzurufen:

du -Sh / | sort -rh | head -20

Beispielausgabe:

5.7G    /var/lib/docker/containers/50501b5f4cbf90b406e0ca60bf4e6d4ec8f773a6c1d2b451ed8e0195418ad0d2
1.2G    /var/log/ecs
594M    /var/lib/docker/devicemapper/mnt/c8e3010e36ce4c089bf286a623699f5233097ca126ebd5a700af023a5127633d/rootfs/data/logs
...

In einigen Fällen kann das Root-Volume durch einen laufenden Container aufgefüllt werden. Wenn der Container den Standardprotokolltreiber json-file ohne eine max-size-Beschränkung verwendet, kann die Protokolldatei einen Großteil des Speicherplatzes belegen. Mit dem Befehl docker ps können Sie überprüfen, welcher Container den Speicherplatz belegt. Hierzu wird der Verzeichnisname aus der Ausgabe oben der Container-ID zugewiesen. Zum Beispiel:

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 50501b5f4cbf amazon/amazon-ecs-agent:latest "/agent" 4 days ago Up 4 days ecs-agent

Bei Verwendung des Protokolltreibers json-file erfasst Docker standardmäßig die Standardausgabe (und Standardfehler) aller Container und schreibt diese in Dateien im JSON-Format. Sie können max-size als Protokolltreiberoption festlegen, was vermeidet, dass die Protokolldatei zu groß wird. Weitere Informationen finden Sie unter Configure logging drivers in der Docker-Dokumentation.

Nachfolgend finden Sie einen Ausschnitt aus einer Containerdefinition mit dieser Option:

{ "log-driver": "json-file", "log-opts": { "max-size": "256m" } }

Eine Alternative, wenn Ihre Container-Logs zu viel Festplattenspeicher beanspruchen, ist die Verwendung des awslogs Log-Treibers. Der awslogs Log-Treiber sendet die Logs an CloudWatch, wodurch Speicherplatz frei wird, der andernfalls für Ihre Container-Logs auf der Container-Instance verwendet werden würde. Weitere Informationen finden Sie unter Amazon ECS-Protokolle senden an CloudWatch .

FEHLER: toomanyrequests: Zu viele Anfragen oder Sie haben Ihr Pull-Rate-Limit erreicht.

Dieser Fehler weist darauf hin, dass es eine Docker Hub-Ratenbegrenzung gibt.

Wenn eine der folgenden Fehlermeldungen angezeigt wird, treffen Sie wahrscheinlich die Tarifbeschränkungen des Docker-Hubs:

Weitere Informationen über die Docker-Hub-Ratenlimits finden Sie unter Grundlegendes zur Begrenzung der Docker-Hub-Rate.

Wenn Sie das Docker Hub-Ratenlimit erhöht haben und Ihre Docker-Pulls für Ihre Container-Instances authentifizieren müssen, finden Sie weitere Informationen unter Private Registry-Authentifizierung für Container-Instances.

Fehlerantwort vom Daemon: URL abrufen: net/http: Anfrage beim Warten auf Verbindung abgebrochen

Dieser Fehler weist darauf hin, dass bei einer Verbindung das Zeitlimit überschritten wurde, da keine Route zum Internet existiert.

Um dieses Problem zu lösen, können Sie:

  • Für Aufgabe in öffentlichen Subnetzen geben Sie beim Starten der Aufgabe ENABLED unter Auto-assign public IP (Öffentliche IP automatisch zuweisen) an. Weitere Informationen finden Sie unter Eine Anwendung als Amazon ECS-Aufgabe ausführen.

  • Für Aufgaben in privaten Subnetzen geben Sie beim Starten der Aufgabe DISABLED (DEAKTIVIERT) für Auto-assign public IP (Öffentliche IP automatisch zuweisen) an und konfigurieren ein NAT-Gateway in Ihrer VPC, um Anforderungen an das Internet weiterzuleiten. Weitere Informationen finden Sie unter NAT-Gateways im Amazon VPC-Benutzerhandbuch.

ref pull wurde 1 mal wiederholt: konnte nicht kopiert werden:: Fehler beim Öffnen httpReaderSeeker: unerwarteter Statuscode

Dieser Fehler weist darauf hin, dass beim Kopieren eines Bildes ein Fehler aufgetreten ist.

Lesen Sie einen der folgenden Artikel, um dieses Problem zu beheben:

Pull-Zugriff verweigert

Dieser Fehler weist darauf hin, dass kein Zugriff auf das Bild besteht.

Um dieses Problem zu beheben, müssen Sie möglicherweise Ihren Docker-Client mit Amazon ECR authentifizieren. Weitere Informationen finden Sie unter Private Registry-Authentifizierung im Amazon ECR-Benutzerhandbuch.

Pull-Befehl fehlgeschlagen: Panik: Laufzeitfehler: ungültige Speicheradresse oder Nullzeiger-Dereferenzierung

Dieser Fehler weist darauf hin, dass aufgrund einer ungültigen Speicheradresse oder einer Nullzeiger-Dereferenzierung kein Zugriff auf das Bild möglich ist.

So beheben Sie dieses Problem

  • Vergewissern Sie sich, dass Sie über die Sicherheitsgruppenregeln verfügen, um Amazon S3 zu erreichen.

  • Wenn Sie Gateway-Endpunkte verwenden, müssen Sie der Routentabelle eine Route hinzufügen, um auf den Endpunkt zuzugreifen.

Fehler beim Abrufen der Image-Konfiguration/Fehler beim Abrufen der Image-Konfiguration

Dieser Fehler weist darauf hin, dass ein Ratenlimit erreicht wurde oder dass ein Netzwerkfehler vorliegt:

Informationen zur Behebung dieses Problems finden Sie unter Wie kann ich den Fehler "CannotPullContainerError" in meiner Amazon ECS EC2 Launch Type Task beheben?

Kontext abgebrochen

Dieser Fehler weist darauf hin, dass der Kontext abgebrochen wurde.

Die häufige Ursache für diesen Fehler liegt darin, dass die von Ihrer Aufgabe verwendete VPC über keine Route zum Abrufen des Container-Images von Amazon ECR verfügt.