3

Ich habe Docker Container auf AWS ECR gespeichert, mit diesem Container habe ich Task erstellt. Wenn ich Task über Fargate ausführe, wechselt der Service von PROVISIONING> PENDING (rot)> STOPPED-Status.AWS Fargate Task Debugging, was bedeutet "CannotPullContainerError ... ungültiges Referenzformat"?

Es gibt kein Protokoll in Service Event oder CloudWatch. Absolut keine Möglichkeit zu wissen, was das eigentliche Problem ist.

Jede Idee, welchen Weg zu bewegen, AWS-Dokument hat nicht geholfen.

+0

ich diese [Anleitung] gefolgt (http://docs.aws.amazon.com/AmazonECS/latest/developerguide/stopped-task-errors.html). Und jetzt kann ich sehen, dass der Fehler, den es für die Aufgabenbereitstellung anzeigt, ist: ** Statusgrund \t CannotPullContainerError: API-Fehler (500): ungültiges Referenzformat **. Wieder hilft das sowieso nicht. Jeder Zeiger darauf wird sehr geschätzt. – RajDev

+0

Das nächste Fehlerprotokoll zeigt "Status Grund \t CannotStartContainerError: API-Fehler (404): Oci-Laufzeitfehler: container_linux.go: 262: startender Containerprozess verursachte" exec: \ "1234567891011.dkr.ecr.us-east-1.amazonaws. com/gotty \\ n/usr/lokal/bin/timer \ ": stat 1234567891011.dkr.ecr.us-east-1.amazonaws.co – RajDev

Antwort

0

Die AWS Fargate hat eine einfache, aber scuttle Informationen fehlt, das ist, was Sie zu Ihrem Problem geführt hat. Lassen Sie mich Schritt für Schritt erklären.

Erster Schritt ist eine Aufgabenstellung zu erstellen, wenn Sie das tun, können Sie festlegen,

Entry point ["/bin/ls"] 
Command  [">","/list.txt","|","echo","/list.txt"] 

Dies zu/bin/ls> /list.txt equivalient ist | echo /list.txt.

Bitte beachten Sie, dass die Leerzeichen dazwischen durch ein Komma ersetzt werden müssen. Was das AWS Farget-Team vergessen hat, ist, dass im Command Delfinitero> HelloWorld im Bereich TaskDefinition> Container hinzufügen im Textfeld [! [Bildbeschreibung hier eingeben] [1]] [1] angegeben ist. Aber im Aufgabenformular gibt es solche Informationen nicht. Das ist sehr verwirrend.

Eine letzte Sache, AWS Fargate hat sehr begrenzte Informationen zum Debuggen. Hier sind meine Tipps

  • Sie können unter Cluster nur möglich, Fehlermeldung erhalten> Task> {} Taskname> {Container}. Untergrund für Fehler.
  • Wenn der Fehler sehr klein ist, habe ich immer Error Code0, kein Leerzeichen zwischen Code0. Nichts auf Cloud zu sehen.
  • Wenn der Fehlertext groß ist (etwa 20 Zeichen oder>), erhalten Sie beides im # 1- und im CloudWatch-Protokoll.

Hoffe, dass es

+0

Wow das half :) – RajDev

1

hilft ich auch diesen Fehler sah. In meinem Fall war das Problem, dass ich einen ungültigen image Wert in meiner Containerdefinition hatte. Das Bild ist in der Regel ein repository_url und Image-Tag gemäß image Anweisungen an https://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-access-logs.html

+0

Wow. Ich habe gerade mit einem zweiten Dienst in Fargate angefangen, der eine halbkomplexe Datei erstellt hat. Das Bild, das auf den im Repo verweist, wurde komplett verpfuscht. Ich hätte etwas geliebt, was mir das gesagt hat (außer deiner Antwort)! –

Verwandte Themen