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
-
Na CLI do Docker, ative os recursos experimentais. Para obter informações sobre recursos experimentais, consulte Experimental features
na documentação do Docker. -
O repositório do Amazon ECR deve existir antes de enviar a imagem. Para ter mais informações, consulte Criar um repositório privado do Amazon ECR para armazenar imagens.
-
As imagens devem ser enviadas por push ao seu repositório antes de você criar o manifesto do Docker. Para obter informações sobre como enviar uma imagem, consulte Envio por push de uma imagem do Docker para um repositório privado do Amazon ECR.
Como enviar uma imagem de multiarquitetura do Docker para um repositório do Amazon ECR
-
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
.dkr.ecr.aws_account_id
region
.amazonaws.com -
Listar as imagens no repositório, confirmando as tags de imagem.
aws ecr describe-images --repository-name
my-repository
-
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.rproxy.goskope.commy-repository
/aws_account_id
.dkr.ecr.region
.amazonaws.com.rproxy.goskope.commy-repository
:image_one_tag
/aws_account_id
.dkr.ecr.region
.amazonaws.com.rproxy.goskope.commy-repository
:image_two
-
(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.rproxy.goskope.commy-repository
-
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.rproxy.goskope.commy-repository