As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Construindo um contêiner Docker interno CloudShell e enviando-o para um repositório Amazon ECR
Este tutorial mostra como definir e criar um contêiner Docker AWS CloudShell e enviá-lo para um repositório Amazon ECR.
Pré-requisitos
Você deve ter as permissões necessárias para criar e enviar a um repositório do Amazon ECR. Para obter mais informações sobre repositórios com o Amazon ECR, consulte Repositórios privados do Amazon ECR no Guia do usuário do Amazon ECR. Para obter mais informações sobre as permissões necessárias para enviar imagens com o Amazon ECR, consulte Required IAM permissions for pushing an image no Guia do usuário do Amazon ECR.
Procedimento do tutorial
O tutorial a seguir descreve como usar a CloudShell interface para criar um contêiner Docker e enviá-lo para um repositório Amazon ECR.
Crie uma pasta no seu diretório inicial.
mkdir ~/docker-cli-tutorial
Navegue até a pasta que você criou.
cd ~/docker-cli-tutorial
Crie um Dockerfile vazio.
touch Dockerfile
Usando um editor de texto, por exemplo, o
nano Dockerfile
, abra o arquivo e cole o seguinte conteúdo nele.# Dockerfile # Base this container on the latest Amazon Linux version FROM public.ecr.aws/amazonlinux/amazonlinux:latest # Install the cowsay binary RUN dnf install --assumeyes cowsay # Default entrypoint binary ENTRYPOINT [ "cowsay" ] # Default argument for the cowsay entrypoint CMD [ "Hello, World!" ]
O Dockerfile agora está pronto para ser criado. Crie o contêiner executando o
docker build
. Marque o contêiner com um easy-to-type nome para uso em comandos futuros.docker build --tag test-container .
Lembre-se de incluir o ponto no final (
.
).Agora você pode testar o contêiner para verificar se ele está funcionando corretamente no AWS CloudShell.
docker container run test-container
Agora que há um contêiner do Docker em funcionamento, envie-o a um repositório do Amazon ECR. Ignore essa etapa se tiver um repositório do Amazon ECR.
Execute o comando a seguir para criar um repositório do Amazon ECR para este tutorial.
ECR_REPO_NAME=docker-tutorial-repo aws ecr create-repository --repository-name ${ECR_REPO_NAME}
Depois de criar o repositório do Amazon ECR, você pode enviar o contêiner do Docker para ele.
Execute o comando a seguir para obter as credenciais de login do Amazon ECR para o Docker.
AWS_ACCOUNT_ID=$(aws sts get-caller-identity --query "Account" --output text) ECR_URL=${AWS_ACCOUNT_ID}.dkr.ecr.${AWS_REGION}.amazonaws.com aws ecr get-login-password | docker login --username AWS --password-stdin ${ECR_URL}
nota
Se a variável de AWS_REGION ambiente não estiver definida na sua CloudShell ou se você quiser interagir com recursos em outra Regiões da AWS, execute o seguinte comando:
AWS_REGION=<your-desired-region>
Marque a imagem com o repositório do Amazon ECR de destino e, em seguida, envie-a para esse repositório.
docker tag test-container ${ECR_URL}/${ECR_REPO_NAME} docker push ${ECR_URL}/${ECR_REPO_NAME}
Se você encontrar erros ou problemas ao tentar concluir este tutorial, consulte a seção Solução de problemas deste guia para obter ajuda.
Limpeza
Você implantou o contêiner do Docker no repositório do Amazon ECR. Para remover os arquivos que você criou neste tutorial do seu AWS CloudShell ambiente, execute o comando a seguir.
cd ~ rm -rf ~/docker-cli-tutorial
Exclua o repositório do Amazon ECR.
aws ecr delete-repository --force --repository-name ${ECR_REPO_NAME}