Como desenvolver um contêiner do Docker dentro do CloudShell e enviá-lo a um repositório do Amazon ECR - AWS CloudShell

Como desenvolver um contêiner do Docker dentro do CloudShell e enviá-lo a um repositório do Amazon ECR

Este tutorial mostra como definir e criar um contêiner do Docker no AWS CloudShell e enviá-lo a um repositório do Amazon ECR.

Pré-requisitos

Procedimento do tutorial

O tutorial a seguir descreve como usar a interface do CloudShell para criar um contêiner do Docker e enviá-lo para um repositório do Amazon ECR.

  1. Crie uma pasta no seu diretório inicial.

    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 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!" ]
  5. O Dockerfile agora está pronto para ser criado. Crie o contêiner executando o docker build. Marque o contêiner com um nome fácil de digitar para uso em comandos futuros.

    docker build --tag test-container .

    Lembre-se de incluir o ponto no final (.).

    Imagem do comando criar docker executado dentro do 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 de execução criar contêiner do docker dentro do AWS CloudShell.
  7. 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}
    Imagem do comando usado para criar um repositório do Amazon ECR no AWS CloudShell
  8. 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}
    Imagem do comando usado para obter as credenciais de login do Amazon ECR para o Docker.
    nota

    Se a variável de ambiente da AWS_REGION não estiver definida no seu CloudShell ou se você quiser interagir com recursos em outras Regiões da AWS, execute o seguinte comando:

    AWS_REGION=<your-desired-region>
  9. Marque a imagem com o repositório 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}
    Imagem do comando usado para marcar a imagem com o repositório Amazon ECR de destino.

    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 do seu ambiente do AWS CloudShell os arquivos que você criou neste tutorial, 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}