Como enviar uma imagem de multiarquitetura por push para um repositório do privado do Amazon ECR - Amazon ECR

Como enviar uma imagem de multiarquitetura por push para um repositório do privado do Amazon ECR

Você pode enviar imagens de multiarquitetura por push para um repositório do Amazon ECR criando e enviando por push listas de manifestos do Docker. Uma lista de manifestos é uma lista de imagens criada com a especificação de um ou mais nomes de imagem. Na maioria dos casos, a lista de manifestos é criada de imagens que exercem a mesma função, mas que são para outros sistemas operacionais ou arquiteturas. A lista de manifestos não é obrigatória. Para obter mais informações, consulte manifesto do docker.

Uma lista de manifestos pode ser extraída ou referenciada em uma definição de tarefa do Amazon ECS ou especificação de pod do Amazon EKS como outras imagens do Amazon ECR.

Pré-requisitos

Como enviar uma imagem de multiarquitetura do Docker para um repositório do Amazon ECR
  1. Autentique o cliente do Docker para o registro do Amazon ECR para o qual você pretende enviar a imagem. Os tokens de autenticação devem ser obtidos para cada registro usado e são válidos por 12 horas. Para ter mais informações, consulte Autenticação de registro privado no Amazon ECR.

    Para autenticar o Docker para um registro do Amazon ECR, execute o comando aws ecr get-login-password. Ao transmitir o token de autenticação para o comando docker login, use o valor AWS para o nome de usuário, e especifique o URI de registro do Amazon ECR para o qual deseja fazer a autenticação. Se autenticar em vários registros, você deverá repetir o comando para cada registro.

    Importante

    Se você receber um erro, instale ou atualize para a versão mais recente da AWS CLI. Para obter mais informações, consulte Installing the AWS Command Line Interface (Instalar a AWS Command Line Interface) no User Guide (Guia do usuário da ).

    aws ecr get-login-password --region region | docker login --username AWS --password-stdin aws_account_id.dkr.ecr.region.amazonaws.com
  2. Listar as imagens no repositório, confirmando as tags de imagem.

    aws ecr describe-images --repository-name my-repository
  3. Criar a lista de manifestos do Docker. O comando manifest create verifica se as imagens referenciadas já estão no repositório e cria o manifesto localmente.

    docker manifest create aws_account_id.dkr.ecr.region.amazonaws.com/my-repository aws_account_id.dkr.ecr.region.amazonaws.com/my-repository:image_one_tag aws_account_id.dkr.ecr.region.amazonaws.com/my-repository:image_two
  4. (Opcional) Inspecionar a lista de manifestos do Docker. Isso permite que você confirme o tamanho e o resumo de cada manifesto de imagem referenciado na lista de manifestos.

    docker manifest inspect aws_account_id.dkr.ecr.region.amazonaws.com/my-repository
  5. Enviar a lista de manifestos do Docker para seu repositório do Amazon ECR.

    docker manifest push aws_account_id.dkr.ecr.region.amazonaws.com/my-repository