Criar uma imagem personalizada e enviá-la ao Amazon ECR - SageMaker Inteligência Artificial da Amazon

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á.

Criar uma imagem personalizada e enviá-la ao Amazon ECR

Esta página fornece instruções sobre como criar um Dockerfile local, criar a imagem do contêiner e adicioná-la ao Amazon Elastic Container Registry (Amazon ECR).

nota

Nos exemplos a seguir, as tags não são especificadas e a tag latest é aplicada por padrão. Se quiser especificar uma tag, você precisará acrescentar :tag ao final dos nomes das imagens. Para ter mais informações, consulte docker image tag na documentação do Docker.

Criar um Dockerfile local e a imagem do contêiner

Use as instruções a seguir para criar um Dockerfile com o software e as dependências que você deseja.

Como criar o Dockerfile
  1. Primeiro, defina suas variáveis para os AWS CLI comandos a seguir.

    LOCAL_IMAGE_NAME=local-image-name

    local-image-name é o nome da imagem do contêiner em seu dispositivo local, que você define aqui.

  2. Crie um documento baseado em texto, chamado Dockerfile, que atenda às especificações em Especificações de imagem personalizadas.

    Exemplos do Dockerfile de aplicações compatíveis podem ser encontrados em Exemplos de Dockerfile.

    nota

    Se você estiver trazendo sua própria imagem para o SageMaker Unified Studio, precisará seguir as especificações do Dockerfile no Guia do usuário do Amazon SageMaker Unified Studio.

    Dockerfileexemplos do SageMaker Unified Studio podem ser encontrados no exemplo do Dockerfile no Guia do usuário do Amazon SageMaker Unified Studio.

  3. No mesmo diretório que contém seu Dockerfile, crie a imagem do Docker usando o comando a seguir. O ponto (.) especifica que o Dockerfile deve estar no contexto do comando de compilação.

    docker build -t ${LOCAL_IMAGE_NAME} .

    Depois que a compilação for concluída, você poderá listar as informações da imagem do contêiner com o comando a seguir.

    docker images
  4. (Opcional) É possível testar sua imagem usando o comando a seguir.

    docker run -it ${LOCAL_IMAGE_NAME}

    Na saída, você perceberá que seu servidor está sendo executado em um URL, como http://127.0.0.1:8888/.... Você pode testar a imagem copiando o URL no navegador.

    Se isso não funcionar, talvez seja necessário incluir -p port:port no comando docker run. Essa opção associa a porta exposta no contêiner à porta no sistema de host. Para saber mais sobre a execução do Docker, consulte Running containers na documentação do Docker.

    Depois de verificar se o servidor está funcionando, você pode interrompê-lo e desligar todos os kernels antes de continuar. As instruções podem ser visualizadas na saída.

Adicionar uma imagem do Docker ao Amazon ECR

Use as etapas a seguir para adicionar uma imagem de contêiner do Docker ao Amazon ECR.

  • Crie um repositório do Amazon ECR.

  • Faça login no seu registro padrão.

  • Empurre a imagem para o repositório do Amazon ECR.

nota

O repositório Amazon ECR deve estar no mesmo domínio Região da AWS ao qual você está anexando a imagem.

Como criar e envia uma imagem de contêiner ao Amazon ECR
  1. Primeiro, defina suas variáveis para os AWS CLI comandos a seguir.

    ACCOUNT_ID=account-id REGION=aws-region ECR_REPO_NAME=ecr-repository-name
    • account-id é o ID de sua conta. Você pode encontrar isso no canto superior direito de qualquer página AWS do console. Por exemplo, o console de SageMaker IA.

    • aws-regioné o Região da AWS do seu domínio Amazon SageMaker AI. Você pode encontrar isso no canto superior direito de qualquer página AWS do console.

    • ecr-repository-name é o nome do seu repositório do Amazon Elastic Container Registry, que você define aqui. Para visualizar seus repositórios do Amazon ECR, consulte Console do Amazon ECR.

  2. Faça login no Amazon ECR e entre no Docker.

    aws ecr get-login-password \ --region ${REGION} | \ docker login \ --username AWS \ --password-stdin ${ACCOUNT_ID}.dkr.ecr.${REGION}.amazonaws.com

    Se a autenticação for bem-sucedida, você receberá uma mensagem de login bem-sucedido.

    Importante

    Se você receber um erro, talvez seja necessário instalar ou atualizar para a versão mais recente da AWS CLI. Para obter mais informações, consulte Instalar a AWS Command Line Interface no Guia do usuário da AWS Command Line Interface .

  3. Marque a imagem em um formato compatível com o Amazon ECR para enviá-la ao repositório.

    docker tag \ ${LOCAL_IMAGE_NAME} \ ${ACCOUNT_ID}.dkr.ecr.${REGION}.amazonaws.com/${ECR_REPO_NAME}
  4. Crie um repositório do Amazon ECR usando a AWS CLI. Para criar o repositório usando o console do Amazon ECR, consulte Creating an Amazon ECR private repository to store images.

    aws ecr create-repository \ --region ${REGION} \ --repository-name ${ECR_REPO_NAME}
  5. Envie a imagem por push ao seu repositório do Amazon ECR. Você também pode atribuir uma tag à imagem do Docker.

    docker push ${ACCOUNT_ID}.dkr.ecr.${REGION}.amazonaws.com/${ECR_REPO_NAME}

Depois que a imagem for adicionada com êxito ao repositório do Amazon ECR, você poderá visualizá-la no console do Amazon ECR.