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 da Amazon ECR
Este tutorial mostra como definir e criar um contêiner Docker AWS CloudShell e enviá-lo para um ECR repositório da Amazon.
Pré-requisitos
Você deve ter as permissões necessárias para criar e enviar para um ECR repositório da Amazon. Para obter mais informações sobre repositórios com a AmazonECR, consulte os repositórios ECR privados da Amazon no Guia ECR do usuário da Amazon. Para obter mais informações sobre as permissões necessárias para enviar imagens com a AmazonECR, consulte IAMPermissões necessárias para enviar uma imagem no Guia ECR do usuário da Amazon.
Procedimento tutorial
O tutorial a seguir descreve como usar a CloudShell interface para criar um contêiner Docker e enviá-lo para um repositório da AmazonECR.
Crie uma nova pasta no seu diretório pessoal.
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
nano Dockerfile
, abra o arquivo e cole o conteúdo a seguir 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 construído. Crie o contêiner executando
docker build
. Marque o contêiner com um easy-to-type nome para uso em comandos futuros.docker build --tag test-container .
Certifique-se de incluir o ponto 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 você tem um contêiner Docker em funcionamento, você precisa enviá-lo para um ECR repositório da Amazon. Se você já tem um ECR repositório da Amazon, pode pular esta etapa.
Execute o comando a seguir para criar um ECR repositório da Amazon para este tutorial.
ECR_REPO_NAME=docker-tutorial-repo aws ecr create-repository --repository-name ${ECR_REPO_NAME}
Depois de criar o ECR repositório Amazon, você pode enviar o contêiner Docker para ele.
Execute o comando a seguir para obter as credenciais de ECR login da Amazon 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 ECR repositório de destino da Amazon 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
Agora você implantou com sucesso seu contêiner Docker no seu repositório da AmazonECR. 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 ECR repositório da Amazon.
aws ecr delete-repository --force --repository-name ${ECR_REPO_NAME}