

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Creación de una imagen personalizada y envío a Amazon ECR
<a name="studio-updated-byoi-how-to-prepare-image"></a>

En esta página se proporcionan instrucciones sobre cómo crear un Dockerfile local, crear la imagen del contenedor y añadirlo a Amazon Elastic Container Registry (Amazon ECR).

**nota**  
En los siguientes ejemplos, las etiquetas no se especifican y la etiqueta `latest` se aplica de forma predeterminada. Si desea especificar una etiqueta, tendrá que añadir `:{{tag}}` al final de los nombres de las imágenes. Para obtener más información, consulte [docker image tag](https://docs.docker.com/reference/cli/docker/image/tag/) en la *documentación de Docker*.

**Topics**
+ [Creación de un Dockerfile local y diseño de la imagen de contenedor](#studio-updated-byoi-how-to-create-local-dockerfile)
+ [Adición de una imagen de Docker en Amazon ECR](#studio-updated-byoi-add-container-image)

## Creación de un Dockerfile local y diseño de la imagen de contenedor
<a name="studio-updated-byoi-how-to-create-local-dockerfile"></a>

Use las siguientes instrucciones para crear un Dockerfile con el software y las dependencias deseadas.

**Cómo crear el archivo Dockerfile**

1. En primer lugar, defina las variables para AWS CLI los comandos siguientes.

   ```
   LOCAL_IMAGE_NAME={{local-image-name}}
   ```

   `{{local-image-name}}` es el nombre de la imagen del contenedor en su dispositivo local y que define aquí.

1. Cree un documento basado en texto, denominado `Dockerfile`, que cumpla con las especificaciones de [Especificaciones de imágenes personalizadas](studio-updated-byoi-specs.md).

   Puede consultar ejemplos de `Dockerfile` para aplicaciones compatibles en [Ejemplos de Dockerfile](studio-updated-byoi-specs.md#studio-updated-byoi-specs-dockerfile-templates).
**nota**  
Si va a traer su propia imagen a SageMaker Unified Studio, tendrá que seguir las [especificaciones de Dockerfile](https://docs.aws.amazon.com/sagemaker-unified-studio/latest/userguide/byoi-specifications.html) de la Guía del *usuario de Amazon SageMaker Unified Studio*.  
`Dockerfile`Puedes encontrar ejemplos de SageMaker Unified Studio en el [ejemplo de Dockerfile](https://docs.aws.amazon.com/sagemaker-unified-studio/latest/userguide/byoi-specifications.html#byoi-specifications-example) de la Guía del *usuario de Amazon SageMaker Unified Studio*.

1. En el directorio que contiene su `Dockerfile`, cree la imagen de Docker con el siguiente comando. El punto (`.`) especifica que `Dockerfile` debe estar en el contexto del comando de compilación.

   ```
   docker build -t ${LOCAL_IMAGE_NAME} .
   ```

   Una vez finalizada la compilación, puede enumerar la información de la imagen del contenedor con el siguiente comando.

   ```
   docker images
   ```

1. (Opcional) Puede usar el siguiente comando para probar la imagen.

   ```
   docker run -it ${LOCAL_IMAGE_NAME}
   ```

   En el resultado, verá que su servidor se ejecuta en una URL, como `http://127.0.0.1:8888/...`. Puede probar la imagen copiando la URL en el navegador. 

   Si esto no funciona, es posible que deba incluir `-p {{port}}:{{port}}` en el comando “docker run”. Esta opción asigna el puerto expuesto en el contenedor a un puerto del sistema de host. Para obtener más información sobre “docker run”, consulte [Running containers](https://docs.docker.com/engine/containers/run/) en la *documentación de Docker*.

   Después de comprobar que el servidor funciona, puede detenerlo y apagar todos los kernels antes de continuar. Las instrucciones se pueden ver en el resultado.

## Adición de una imagen de Docker en Amazon ECR
<a name="studio-updated-byoi-add-container-image"></a>

Siga estos pasos para agregar una imagen de contenedor en Amazon ECR.
+ Cree un repositorio de Amazon ECR.
+ Inicie sesión en su registro predeterminado.
+ Cargue la imagen en el repositorio de Amazon ECR.

**nota**  
El repositorio de Amazon ECR debe estar en el Región de AWS mismo dominio al que va a adjuntar la imagen.

**Cómo crear y añadir una imagen de contenedor en Amazon ECR**

1. En primer lugar, defina las variables para los AWS CLI comandos siguientes.

   ```
   ACCOUNT_ID={{account-id}}
   REGION={{aws-region}}
   ECR_REPO_NAME={{ecr-repository-name}}
   ```
   + `{{account-id}}` es su ID de cuenta. Puedes encontrarlo en la parte superior derecha de cualquier página de AWS consola. Por ejemplo, la [consola de SageMaker IA](https://console.aws.amazon.com/sagemaker).
   + `{{aws-region}}`es el Región de AWS de tu dominio de Amazon SageMaker AI. Puedes encontrarlo en la parte superior derecha de cualquier página de AWS consola. 
   + `{{ecr-repository-name}}` es el nombre de su repositorio de Amazon Elastic Container Registry, que define aquí. Para ver sus repositorios de Amazon ECR, consulte la [consola de Amazon ECR](https://console.aws.amazon.com/ecr).

1. Regístrese en Amazon ECR e inicie sesión en Docker.

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

   Si la autenticación se realiza correctamente, recibirá un mensaje de inicio de sesión correcto.
**importante**  
Si recibe un error, es posible que deba instalar o actualizar a la versión más reciente de la AWS CLI. Para obtener más información, consulte [Installing the AWS Command Line Interface](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html) en la *Guía del usuario de AWS Command Line Interface *.

1. Etiquete la imagen en un formato compatible con Amazon ECR para enviarla a su repositorio.

   ```
   docker tag \
       ${LOCAL_IMAGE_NAME} \
       ${ACCOUNT_ID}.dkr.ecr.${REGION}.amazonaws.com/${ECR_REPO_NAME}
   ```

1. Cree un repositorio de Amazon ECR usando AWS CLI. Para crear el repositorio desde la consola de Amazon ECR, consulte [Creación de un repositorio privado de Amazon ECR para almacenar imágenes](https://docs.aws.amazon.com/AmazonECR/latest/userguide/repository-create.html).

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

1. Envíe la imagen a su repositorio de Amazon ECR. También puede etiquetar la imagen de Docker.

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

Una vez añadida correctamente la imagen al repositorio de Amazon ECR, puede verla en la [consola de Amazon ECR](https://console.aws.amazon.com/ecr).