

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
<a name="studio-updated-byoi-how-to-prepare-image"></a>

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](https://docs.docker.com/reference/cli/docker/image/tag/) na *documentação do Docker*.

**Topics**
+ [Criar um Dockerfile local e a imagem do contêiner](#studio-updated-byoi-how-to-create-local-dockerfile)
+ [Adicionar uma imagem do Docker ao Amazon ECR](#studio-updated-byoi-add-container-image)

## Criar um Dockerfile local e a imagem do contêiner
<a name="studio-updated-byoi-how-to-create-local-dockerfile"></a>

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.

1. Crie um documento baseado em texto, chamado `Dockerfile`, que atenda às especificações em [Especificações de imagem personalizadas](studio-updated-byoi-specs.md).

   Exemplos do `Dockerfile` de aplicações compatíveis podem ser encontrados em [Exemplos de Dockerfile](studio-updated-byoi-specs.md#studio-updated-byoi-specs-dockerfile-templates).
**nota**  
Se você estiver trazendo sua própria imagem para o SageMaker Unified Studio, precisará seguir as [especificações do Dockerfile](https://docs.aws.amazon.com/sagemaker-unified-studio/latest/userguide/byoi-specifications.html) no Guia do *usuário do Amazon SageMaker Unified Studio*.  
`Dockerfile`exemplos do SageMaker Unified Studio podem ser encontrados no [exemplo do Dockerfile no Guia do](https://docs.aws.amazon.com/sagemaker-unified-studio/latest/userguide/byoi-specifications.html#byoi-specifications-example) *usuário do Amazon SageMaker Unified Studio*.

1. 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
   ```

1. (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](https://docs.docker.com/engine/containers/run/) 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
<a name="studio-updated-byoi-add-container-image"></a>

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 SageMaker AI](https://console.aws.amazon.com/sagemaker).
   + `{{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](https://console.aws.amazon.com/ecr).

1. 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](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html) no *Guia do usuário da AWS Command Line Interface *.

1. 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}
   ```

1. 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](https://docs.aws.amazon.com/AmazonECR/latest/userguide/repository-create.html).

   ```
   aws ecr create-repository \
       --region ${REGION} \
       --repository-name ${ECR_REPO_NAME}
   ```

1. 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](https://console.aws.amazon.com/ecr).