Übertragung eines Images mit mehreren Architekturen in ein privates Amazon ECR-Repository - Amazon ECR

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.

Übertragung eines Images mit mehreren Architekturen in ein privates Amazon ECR-Repository

Sie können Images mit mehreren Architekturen in ein Amazon ECR-Repository übertragen, indem Sie Docker-Manifestlisten erstellen und per Push übertragen. Eine Manifestliste ist eine Liste von Images, die durch Angabe eines oder mehrerer Image-Namen erstellt wird. In den meisten Fällen wird die Manifestliste aus Images erstellt, die dieselbe Funktion erfüllen, aber für unterschiedliche Betriebssysteme oder Architekturen bestimmt sind. Die Manifestliste ist nicht erforderlich. Weitere Informationen finden Sie unter Docker-Manifest.

Eine Manifestliste kann in einer Amazon ECS-Aufgabendefinition oder Amazon EKS-Pod-Spezifikation wie andere Amazon ECR-Images abgerufen oder referenziert werden.

Voraussetzungen

So pushen Sie ein Multi-Architektur-Docker-Image in ein Amazon ECR-Repository
  1. Authentifizieren Sie Ihren Docker-Client bei der Amazon-ECR-Registrierung, in die Sie Ihr Image übertragen möchten. Für jede verwendete Registrierung muss ein Autorisierungs-Token erhalten werden, und die Token sind 12 Stunden lang gültig. Weitere Informationen finden Sie unter Authentifizierung bei privaten Registern in Amazon ECR.

    Um Docker bei einer Amazon-ECR-Registrierung zu authentifizieren, führen Sie den Befehl aws ecr get-login-password aus. Verwenden Sie bei der Übergabe des Authentifizierungs-Tokens an den Befehl docker login den Wert AWS für den Benutzernamen und geben Sie die URI der Amazon-ECR-Registrierung an, bei der Sie sich authentifizieren möchten. Wenn Sie sich bei mehreren Registrierungen authentifizieren, müssen Sie den Befehl für jede Registrierung wiederholen.

    Wichtig

    Bei einem Fehler installieren oder aktualisieren Sie auf die neueste AWS CLI-Version. Weitere Informationen finden Sie unter Installieren der AWS Command Line Interface im AWS Command Line Interface -Benutzerhandbuch.

    aws ecr get-login-password --region region | docker login --username AWS --password-stdin aws_account_id.dkr.ecr.region.amazonaws.com
  2. Listen Sie die Images in Ihrem Repository auf und bestätigen Sie die Image-Tags.

    aws ecr describe-images --repository-name my-repository
  3. Erstellen Sie die Docker-Manifestliste. Mit dem Befehl manifest create wird überprüft, ob sich die referenzierten Images bereits in Ihrem Repository befinden, und das Manifest lokal erstellt.

    docker manifest create aws_account_id.dkr.ecr.us-west-2.amazonaws.com/my-repository aws_account_id.dkr.ecr.us-west-2.amazonaws.com/my-repository:image_one_tag aws_account_id.dkr.ecr.us-west-2.amazonaws.com/my-repository:image_two
  4. (Optional) Überprüfen Sie die Docker-Manifestliste. Auf diese Weise können Sie die Größe und den Digest für jedes Image-Manifest bestätigen, auf das in der Manifestliste verwiesen wird.

    docker manifest inspect aws_account_id.dkr.ecr.us-west-2.amazonaws.com/my-repository
  5. Pushen Sie die Docker-Manifestliste in Ihr Amazon ECR-Repository.

    docker manifest push aws_account_id.dkr.ecr.us-west-2.amazonaws.com/my-repository