Construindo um contêiner Docker interno CloudShell e enviando-o para um repositório da Amazon ECR - AWS CloudShell

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

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.

  1. Crie uma nova pasta no seu diretório pessoal.

    mkdir ~/docker-cli-tutorial
  2. Navegue até a pasta que você criou.

    cd ~/docker-cli-tutorial
  3. Crie um Dockerfile vazio.

    touch Dockerfile
  4. Usando um editor de texto, por exemplonano 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!" ]
  5. O Dockerfile agora está pronto para ser construído. Crie o contêiner executandodocker 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 (.).

    Imagem do comando docker build executado internamente. AWS CloudShell
  6. Agora você pode testar o contêiner para verificar se ele está funcionando corretamente no AWS CloudShell.

    docker container run test-container
    Imagem do comando docker container run dentro AWS CloudShell
  7. 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}
    Imagem do comando usado para criar um ECR repositório Amazon dentro AWS CloudShell
  8. 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}
    Imagem do comando usado para obter as credenciais de ECR login da Amazon para o Docker.
    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>
  9. 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}
    Imagem do comando usado para marcar a imagem com o ECR repositório de destino da Amazon.

    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}