

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.

# Bring your own image (BYOI)
<a name="studio-updated-byoi"></a>

Una imagen es un archivo que identifica los kernels, los paquetes de idioma y otras dependencias necesarias para ejecutar las aplicaciones. Incluye:
+ Lenguajes de programación (como Python o R)
+ Kernels
+ Bibliotecas y paquetes
+ Otro software necesario

Amazon SageMaker Distribution (`sagemaker-distribution`) es un conjunto de imágenes de Docker que incluye marcos y paquetes populares para el aprendizaje automático, la ciencia de datos y la visualización. Para obtener más información, consulte [SageMaker Política de soporte de imágenes de Studio](sagemaker-distribution.md).

Si necesita una funcionalidad diferente, puede incorporar sus propias imágenes personalizadas (BYOI, por sus siglas en inglés). Se recomienda crear una imagen personalizada si:
+ Necesita una versión específica de un lenguaje de programación o una biblioteca.
+ Quiere incluir herramientas o paquetes personalizados.
+ Está trabajando con un software especializado que no está disponible en las imágenes estándar.

## Terminología clave
<a name="studio-updated-byoi-basics"></a>

En la siguiente sección, se definen los términos clave para utilizar tu propia imagen con la SageMaker IA.
+ **Dockerfile:** es un documento basado en texto con instrucciones para crear una imagen de Docker. Este archivo identifica los paquetes de lenguaje y otras dependencias de la imagen de Docker.
+ **Imagen de Docker:** es un conjunto empaquetado de software y dependencias creado a partir de un Dockerfile.
+ **SageMaker Almacén de imágenes de IA:** almacenamiento de tus imágenes personalizadas en SageMaker IA.

**Topics**
+ [Terminología clave](#studio-updated-byoi-basics)
+ [Especificaciones de imágenes personalizadas](studio-updated-byoi-specs.md)
+ [Cómo incorporar su propia imagen](studio-updated-byoi-how-to.md)
+ [Inicio de una imagen personalizada en Studio](studio-updated-byoi-how-to-launch.md)
+ [Visualización de los detalles de la imagen personalizada](studio-updated-byoi-view-images.md)
+ [Acelere la puesta en marcha de contenedores con SOCI](soci-indexing.md)
+ [Desasociación y eliminación de los recursos de imágenes personalizadas](studio-updated-byoi-how-to-detach-from-domain.md)

# Especificaciones de imágenes personalizadas
<a name="studio-updated-byoi-specs"></a>

La imagen que especifique en su Dockerfile debe coincidir con las especificaciones de las siguientes secciones para crear la imagen correctamente.

**Topics**
+ [Ejecutar la imagen](#studio-updated-byoi-specs-run)
+ [Especificaciones para el usuario y el sistema de archivos](#studio-updated-byoi-specs-user-and-filesystem)
+ [Comprobación de estado y URL de las aplicaciones](#studio-updated-byoi-specs-app-healthcheck)
+ [Ejemplos de Dockerfile](#studio-updated-byoi-specs-dockerfile-templates)

## Ejecutar la imagen
<a name="studio-updated-byoi-specs-run"></a>

Puede realizar las siguientes configuraciones actualizando su [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ContainerConfig.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ContainerConfig.html). Para ver un ejemplo, consulta [Actualización de la configuración de un contenedor](studio-updated-byoi-how-to-container-configuration.md).
+ `Entrypoint`: puede configurar `ContainerEntrypoint` y `ContainerArguments` que se pasan al contenedor en el tiempo de ejecución. Le recomendamos configurar su punto de entrada con `ContainerConfig`. Consulte el enlace anterior para ver un ejemplo.
+ `EnvVariables`: al usar Studio, puede definir variables de `ContainerEnvironment` personalizadas para su contenedor. Si lo desea, puede actualizar sus variables de entorno con `ContainerConfig`. Consulte el enlace anterior para ver un ejemplo.

  SageMaker Las variables de entorno específicas de la IA tienen prioridad y anularán cualquier variable con el mismo nombre. Por ejemplo, la SageMaker IA proporciona automáticamente las variables de entorno con el prefijo `AWS_` y `SAGEMAKER_` para garantizar una integración adecuada con los servicios y la funcionalidad de la IA. AWS SageMaker A continuación se muestran algunos ejemplos de variables de entorno SageMaker específicas de la IA:
  + `AWS_ACCOUNT_ID`
  + `AWS_REGION`
  + `AWS_DEFAULT_REGION`
  + `AWS_CONTAINER_CREDENTIALS_RELATIVE_URI`
  + `SAGEMAKER_SPACE_NAME`
  + `SAGEMAKER_APP_TYPE`

## Especificaciones para el usuario y el sistema de archivos
<a name="studio-updated-byoi-specs-user-and-filesystem"></a>
+ `WorkingDirectory`: el volumen de Amazon EBS de su espacio está montado en la ruta `/home/sagemaker-user`. No puede cambiar la ruta de montaje. Utilice la instrucción `WORKDIR` para establecer el directorio de trabajo de la imagen en una carpeta dentro de `/home/sagemaker-user`.
+ `UID`: ID del usuario del contenedor de Docker. UID=1000 es un valor admitido. Puede agregar acceso a sudo a sus usuarios. IDs Se han reasignado para evitar que un proceso que se ejecuta en el contenedor tenga más privilegios de los necesarios.
+ `GID`: ID del grupo del contenedor de Docker. GID=100 es un valor admitido. Puede agregar acceso a sudo a sus usuarios. IDs Se han reasignado para evitar que un proceso que se ejecute en el contenedor tenga más privilegios de los necesarios.
+ Directorios de metadatos: los `/opt/ml` directorios `/opt/.sagemakerinternal` y que utiliza. AWS El archivo de metadatos de `/opt/ml` contiene metadatos sobre recursos como `DomainId`.

  Utilice el siguiente comando para mostrar el contenido del sistema de archivos:

  ```
  cat /opt/ml/metadata/resource-metadata.json
  ```
+ Directorios de registro: `/var/log/studio` están reservados para los directorios de registro de sus aplicaciones y las extensiones asociadas. Le recomendamos que no utilice estas carpetas para crear la imagen.

## Comprobación de estado y URL de las aplicaciones
<a name="studio-updated-byoi-specs-app-healthcheck"></a>

La comprobación de estado y las URL dependen de las aplicaciones. Elija el siguiente enlace asociado a la aplicación para la que está creando la imagen.
+ [Comprobación de estado y URL de las aplicaciones](code-editor-custom-images.md#code-editor-custom-images-app-healthcheck) para Editor de código
+ [Comprobación de estado y URL de las aplicaciones](studio-updated-jl-admin-guide-custom-images.md#studio-updated-jl-admin-guide-custom-images-app-healthcheck) para JupyterLab

## Ejemplos de Dockerfile
<a name="studio-updated-byoi-specs-dockerfile-templates"></a>

Para ver ejemplos de Dockerfile que cumplan tanto los requisitos de esta página como las necesidades específicas de su aplicación, navegue hasta los Dockerfiles de muestra en la sección de la aplicación correspondiente. Las siguientes opciones incluyen las aplicaciones de Amazon SageMaker Studio. 
+ [Ejemplos de Dockerfile](code-editor-custom-images.md#code-editor-custom-images-dockerfile-templates) para Editor de código
+ [Ejemplos de Dockerfile](studio-updated-jl-admin-guide-custom-images.md#studio-updated-jl-custom-images-dockerfile-templates)para JupyterLab

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

# Cómo incorporar su propia imagen
<a name="studio-updated-byoi-how-to"></a>

En las siguientes páginas se dan instrucciones sobre cómo incorporar su propia imagen personalizada. Antes de continuar, asegúrese de que se cumplan los siguientes requisitos previos.

## Requisitos previos
<a name="studio-updated-byoi-how-to-prerequisites"></a>

Deberá cumplir los siguientes requisitos previos para incorporar su propia imagen a Amazon SageMaker AI.
+ Configurar la aplicación Docker. Para obtener más información, consulte [Get started](https://docs.docker.com/get-started/) en la *documentación de Docker*.
+ Instale la versión más reciente AWS CLI siguiendo los pasos [que se indican AWS CLI en la](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html) *Guía del AWS Command Line Interface usuario de la versión 2*.
+ Permisos para acceder al servicio Amazon Elastic Container Registry (Amazon ECR). Para obtener más información, consulte [Políticas administradas de Amazon ECR](https://docs.aws.amazon.com/AmazonECR/latest/userguide/ecr_managed_policies.html) en la *Guía del usuario de Amazon ECR*.
+ Un AWS Identity and Access Management rol al que se adjunta la [AmazonSageMakerFullAccess](https://console.aws.amazon.com/iam/home?#/policies/arn:aws:iam::aws:policy/AmazonSageMakerFullAccess)política.

**Topics**
+ [Requisitos previos](#studio-updated-byoi-how-to-prerequisites)
+ [Creación de una imagen personalizada y envío a Amazon ECR](studio-updated-byoi-how-to-prepare-image.md)
+ [Asociación de la imagen personalizada a su dominio](studio-updated-byoi-how-to-attach-to-domain.md)
+ [Actualización de la configuración de un contenedor](studio-updated-byoi-how-to-container-configuration.md)

# 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).

# Asociación de la imagen personalizada a su dominio
<a name="studio-updated-byoi-how-to-attach-to-domain"></a>

En esta página se proporcionan instrucciones sobre cómo asociar la imagen personalizada a su dominio. Utilice el siguiente procedimiento para utilizar la consola Amazon SageMaker AI para navegar hasta su dominio e iniciar el proceso de **adjuntar imagen**.

En las instrucciones siguientes se presupone que ha subido una imagen a un repositorio de Amazon ECR en el Región de AWS mismo lugar que su dominio. Si aún no lo ha hecho, consulte [Creación de una imagen personalizada y envío a Amazon ECR](studio-updated-byoi-how-to-prepare-image.md).

Cuando elija asociar una imagen, tendrá dos opciones:
+ Adjuntar una **imagen nueva**: esta opción creará una imagen y una versión de la imagen en su almacén de imágenes de SageMaker IA y, a continuación, las adjuntará a su dominio.
**nota**  
Si continúa con el proceso de BYOI, en [Creación de una imagen personalizada y envío a Amazon ECR](studio-updated-byoi-how-to-prepare-image.md), utilice la opción **Nueva imagen**.
+ Adjuntar una **imagen existente**: si ya has creado la imagen personalizada que deseas en el almacén de imágenes de SageMaker IA, usa esta opción. Esta opción asocia una imagen personalizada existente a su dominio. Para ver las imágenes personalizadas en el almacén de imágenes de SageMaker IA, consulte[Visualización de los detalles de la imagen personalizada (consola)](studio-updated-byoi-view-images.md#studio-updated-byoi-view-images-console).

------
#### [ New image ]

**Cómo asociar una imagen nueva a su dominio**

1. Abre la [consola de SageMaker IA](https://console.aws.amazon.com/sagemaker).

1. Expanda la sección **Configuraciones de administración**, si aún no lo ha hecho.

1. En **Configuraciones de administración**, elija **Dominios**.

1. En la página **Dominios**, seleccione el dominio al que quiere asociar la imagen.
**nota**  
Si va a adjuntar la imagen a un proyecto de SageMaker Unified Studio y necesita que se le aclare qué dominio usar, consulte [Ver los detalles del dominio de SageMaker IA asociados a su proyecto](https://docs.aws.amazon.com/sagemaker-unified-studio/latest/userguide/view-project-details.html#view-project-details-smai-domain).

1. Abra la pestaña **Entorno**.

1. En la sección **Imágenes personalizadas para aplicaciones de Studio personales**, seleccione **Asociar imagen**.

1. En **Origen de la imagen**, seleccione **Nueva imagen**.

1. Incluya su URI de imagen de Amazon ECR. El formato es el siguiente.

   ```
   account-id.dkr.ecr.aws-region.amazonaws.com/repository-name:tag
   ```

   1. Para obtener su URI de imagen de Amazon ECR, vaya a la página [Repositorios privados de Amazon ECR](https://console.aws.amazon.com/ecr/private-registry/repositories).

   1. Elija el enlace del nombre de su repositorio.

   1. Seleccione el icono **Copiar URI** que se corresponda con la versión de su imagen (**etiqueta de imagen**).

1. Siga el resto de las instrucciones para asociar su imagen personalizada.
**nota**  
Asegúrese de utilizar el tipo de aplicación de forma coherente con su `Dockerfile`. Para obtener más información, consulte [Ejemplos de Dockerfile](studio-updated-byoi-specs.md#studio-updated-byoi-specs-dockerfile-templates).

Cuando la imagen se haya asociado correctamente con su dominio, podrá verla en la pestaña **Entorno**.

------
#### [ Existing image ]

**Cómo asociar una imagen existente con su dominio**

1. Abre la [consola de SageMaker IA.](https://console.aws.amazon.com/sagemaker)

1. Expanda la sección **Configuraciones de administración**, si aún no lo ha hecho.

1. En **Configuraciones de administración**, elija **Dominios**.

1. En la página **Dominios**, seleccione el dominio al que quiere asociar la imagen.
**nota**  
Si va a adjuntar la imagen a un proyecto de SageMaker Unified Studio y necesita que se le aclare qué dominio usar, consulte [Ver los detalles del dominio de SageMaker IA asociados a su proyecto](https://docs.aws.amazon.com/sagemaker-unified-studio/latest/userguide/view-project-details.html#view-project-details-smai-domain).

1. Abra la pestaña **Entorno**.

1. En la sección **Imágenes personalizadas para aplicaciones de Studio personales**, seleccione **Asociar imagen**.

1. En **Origen de la imagen**, seleccione **Imagen existente**.

1. Elija una imagen y una versión de la imagen existentes en el almacén de imágenes de SageMaker IA.

   Si no ve la versión de la imagen, es posible que tenga que crear una versión de la imagen. Para obtener más información, consulte [Visualización de los detalles de la imagen personalizada (consola)](studio-updated-byoi-view-images.md#studio-updated-byoi-view-images-console).

1. Siga el resto de las instrucciones para asociar su imagen personalizada.
**nota**  
Asegúrese de utilizar el tipo de aplicación de forma coherente con su `Dockerfile`. Para obtener más información, consulte [Ejemplos de Dockerfile](studio-updated-byoi-specs.md#studio-updated-byoi-specs-dockerfile-templates).

Cuando la imagen se haya asociado correctamente con su dominio, podrá verla en la pestaña **Entorno**.

------

Cuando la imagen se haya asociado correctamente a su dominio, los usuarios del dominio podrán elegir la imagen para su aplicación. Para obtener más información, consulte [Inicio de una imagen personalizada en Studio](studio-updated-byoi-how-to-launch.md).

**nota**  
Si ha adjuntado una imagen personalizada a su proyecto de SageMaker Unified Studio, tendrá que iniciar la aplicación desde SageMaker Unified Studio. Para obtener más información, consulte [Lance your custom image](https://docs.aws.amazon.com/sagemaker-unified-studio/latest/userguide/byoi-launch-custom-image.html) en la *Guía del usuario de Amazon SageMaker Unified Studio*.

# Actualización de la configuración de un contenedor
<a name="studio-updated-byoi-how-to-container-configuration"></a>

Puede incorporar imágenes de Docker personalizadas en sus flujos de trabajo de machine learning. Un aspecto clave de la personalización de estas imágenes es definir las configuraciones del contenedor o de [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ContainerConfig.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ContainerConfig.html). En la página siguiente se proporciona un ejemplo de cómo definir su `ContainerConfig`. 

Un punto de entrada es el comando o script que se ejecuta cuando se inicia el contenedor. Los puntos de entrada personalizados le permiten configurar su entorno, inicializar los servicios o realizar cualquier configuración necesaria antes de que se inicie la aplicación. 

Este ejemplo proporciona instrucciones sobre cómo configurar un punto de entrada personalizado para su JupyterLab aplicación mediante el. AWS CLI En este ejemplo se supone que ya ha creado una imagen y un dominio personalizados. Para obtener instrucciones, consulte [Asociación de la imagen personalizada a su dominio](studio-updated-byoi-how-to-attach-to-domain.md).

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

   ```
   APP_IMAGE_CONFIG_NAME=app-image-config-name
   ENTRYPOINT_FILE=entrypoint-file-name
   ENV_KEY=environment-key
   ENV_VALUE=environment-value
   REGION=aws-region
   DOMAIN_ID=domain-id
   IMAGE_NAME=custom-image-name
   IMAGE_VERSION=custom-image-version
   ```
   + `app-image-config-name` es el nombre de la configuración de la imagen de su aplicación.
   + `entrypoint-file-name` es el nombre del script de punto de entrada de su contenedor. Por ejemplo, `entrypoint.sh`.
   + `environment-key` es el nombre de su variable de entorno.
   + `environment-value` es el valor asignado a su variable de entorno.
   + `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. 
   + `domain-id` es su ID de dominio. Para ver sus dominios, consulte [Visualización de dominios](domain-view.md).
   + `custom-image-name` es el nombre de la imagen personalizada. Para ver los detalles de la imagen personalizada, consulte [Visualización de los detalles de la imagen personalizada (consola)](studio-updated-byoi-view-images.md#studio-updated-byoi-view-images-console).

     Si ha seguido las instrucciones que se indican en [Asociación de la imagen personalizada a su dominio](studio-updated-byoi-how-to-attach-to-domain.md), recomendamos utilizar el mismo nombre de imagen que utilizó en ese proceso.
   + `custom-image-version` es el número de versión de la imagen personalizada. Debe ser un número entero que represente la versión de la imagen. Para ver los detalles de la imagen personalizada, consulte [Visualización de los detalles de la imagen personalizada (consola)](studio-updated-byoi-view-images.md#studio-updated-byoi-view-images-console).

1. Use la API [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAppImageConfig.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAppImageConfig.html) para crear una configuración de imagen.

   ```
   aws sagemaker create-app-image-config \
       --region ${REGION} \
       --app-image-config-name "${APP_IMAGE_CONFIG_NAME}" \
       --jupyter-lab-app-image-config "ContainerConfig = {
           ContainerEntrypoint = "${ENTRYPOINT_FILE}", 
           ContainerEnvironmentVariables = {
               "${ENV_KEY}"="${ENV_VALUE}"
           }
       }"
   ```

1. Use la API [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateDomain.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateDomain.html) para actualizar la configuración predeterminada de su dominio. Esta acción asociará la imagen personalizada y la configuración de la imagen de la aplicación. 

   ```
   aws sagemaker update-domain \
       --region ${REGION} \
       --domain-id "${DOMAIN_ID}" \
       --default-user-settings "{
           \"JupyterLabAppSettings\": {
               \"CustomImages\": [
                   {
                       \"ImageName\": \"${IMAGE_NAME}\",
                       \"ImageVersionNumber\": ${IMAGE_VERSION},
                       \"AppImageConfigName\": \"${APP_IMAGE_CONFIG_NAME}\"
                   }
               ]
           }
       }"
   ```

# Inicio de una imagen personalizada en Studio
<a name="studio-updated-byoi-how-to-launch"></a>

Una vez que hayas adjuntado una imagen personalizada a tu dominio de Amazon SageMaker AI, la imagen estará disponible para los usuarios del dominio. Siga las instrucciones que se indican a continuación para iniciar una aplicación con la imagen personalizada.

**nota**  
Si ha adjuntado una imagen personalizada a su proyecto de SageMaker Unified Studio, tendrá que iniciar la aplicación desde SageMaker Unified Studio. Para obtener más información, consulte [Lance your custom image](https://docs.aws.amazon.com/sagemaker-unified-studio/latest/userguide/byoi-launch-custom-image.html) en la *Guía del usuario de Amazon SageMaker Unified Studio*.

1. Abre Amazon SageMaker Studio. Para obtener instrucciones, consulte [Lanza Amazon SageMaker Studio](studio-updated-launch.md).

1. Si aún no lo ha hecho, expanda la sección **Aplicaciones**.

1. En la sección **Aplicaciones**, seleccione la aplicación. Si no ve la aplicación disponible, es posible que la aplicación esté oculta para usted. En ese caso, póngase en contacto con su administrador.

1. Para crear un espacio, selecciona **\$1 Crear *application* espacio** y sigue las instrucciones para crear el espacio.

   Para elegir un espacio existente, elija el nombre del enlace del espacio que desee abrir.

   

1. En **Imagen**, elija la imagen que quiere usar.

   Si el menú desplegable **Imagen** no está disponible, es posible que tenga que detener su espacio. Elija **Detener espacio** para hacerlo.

1. Confirme la configuración del espacio y elija **Ejecutar espacio**.

# Visualización de los detalles de la imagen personalizada
<a name="studio-updated-byoi-view-images"></a>

En la página siguiente, se proporcionan instrucciones sobre cómo ver los detalles de las imágenes personalizadas en el almacén de imágenes de SageMaker IA.

## Visualización de los detalles de la imagen personalizada (consola)
<a name="studio-updated-byoi-view-images-console"></a>

A continuación, se proporcionan instrucciones sobre cómo ver las imágenes personalizadas mediante la consola de SageMaker IA. En esta sección, puede ver y editar los detalles de la imagen.

**Visualización de las imágenes personalizadas (consola)**

1. Abre la [consola de SageMaker IA](https://console.aws.amazon.com/sagemaker).

1. Amplíe la sección **Configuraciones de administración**.

1. En **Configuraciones de administrador**, elija **Imágenes**.

1. En la lista de **imágenes personalizadas**, seleccione el hipervínculo del nombre de la imagen.

## Visualización de los detalles de la imagen personalizada (AWS CLI)
<a name="studio-updated-byoi-view-images-cli"></a>

En la siguiente sección se muestra un ejemplo de cómo visualizar las imágenes personalizadas desde la AWS CLI.

```
aws sagemaker list-images \
       --region aws-region
```

# Acelere la puesta en marcha de contenedores con SOCI
<a name="soci-indexing"></a>

[La indexación SOCI (Seekable Open Container Initiative) permite la carga diferida de imágenes de contenedores personalizadas en [Amazon SageMaker Studio](studio-updated.md) Amazon Unified Studio. SageMaker ](https://docs.aws.amazon.com/sagemaker-unified-studio/latest/userguide/what-is-sagemaker-unified-studio.html) El SOCI reduce considerablemente los tiempos de inicio de sus contenedores personalizados, aproximadamente entre un 30 y un 70%. [Bring your own image (BYOI)](studio-updated-byoi.md) La mejora de la latencia varía según el tamaño de la imagen, la disponibilidad de la instancia de alojamiento y otras dependencias de la aplicación. SOCI crea un índice que permite a los contenedores lanzarse solo con los componentes necesarios y obtener archivos adicionales a pedido según sea necesario.

El SOCI aborda los tiempos lentos de inicio de los contenedores, que interrumpen los flujos de trabajo de desarrollo del aprendizaje automático (ML) iterativo, para obtener imágenes personalizadas. A medida que las cargas de trabajo de aprendizaje automático se vuelven más complejas, las imágenes de los contenedores se hacen más grandes, lo que provoca retrasos en el inicio que dificultan los ciclos de desarrollo.

**Topics**
+ [Ventajas principales](#soci-indexing-key-benefits)
+ [¿Cómo funciona la indexación SOCI](#soci-indexing-how-works)
+ [Componentes de arquitectura](#soci-indexing-architecture-components)
+ [Herramientas admitidas](#soci-indexing-supported-tools)
+ [Permisos para la indexación de SOCI](soci-indexing-setup.md)
+ [Ejemplo de creación de índices SOCI con nerdctl y SOCI CLI](soci-indexing-example-create-indexes.md)
+ [Ejemplo de integración de imágenes indexadas en redes SOCIALES con Studio](soci-indexing-example-integrate-studio.md)

## Ventajas principales
<a name="soci-indexing-key-benefits"></a>
+ **Ciclos de iteración más rápidos**: reduzca el inicio de los contenedores, según los tipos de imagen e instancia
+ **Optimización universal**: amplíe las ventajas de rendimiento a todos los contenedores BYOI personalizados en Studio

## ¿Cómo funciona la indexación SOCI
<a name="soci-indexing-how-works"></a>

SOCI crea un índice de metadatos especializado que mapea la estructura de archivos interna de la imagen del contenedor. Este índice permite acceder a archivos individuales sin descargar la imagen completa. El índice SOCI se almacena como un artefacto compatible con la OCI (Open Container Initiative) en [Amazon ECR](https://docs.aws.amazon.com/AmazonECR/latest/userguide/what-is-ecr.html) y se vincula a la imagen del contenedor original, lo que preserva los resúmenes de imágenes y la validez de la firma.

Al lanzar un contenedor en Studio, el sistema utiliza el índice SOCI para identificar y descargar solo los archivos esenciales necesarios para el inicio. Los componentes adicionales se obtienen en paralelo a medida que la aplicación los requiera.

## Componentes de arquitectura
<a name="soci-indexing-architecture-components"></a>
+ **Imagen original del contenedor**: su contenedor base almacenado en Amazon ECR
+ **Artefacto del índice SOCI**: metadatos que mapean la estructura de archivos de la imagen
+ **Manifiesto del índice de imágenes OCI**: enlaza la imagen original con el índice SOCI
+ Tiempo de **ejecución del contenedor Finch**: permite la integración de carga diferida con Studio

## Herramientas admitidas
<a name="soci-indexing-supported-tools"></a>


| Herramienta | Integración | 
| --- | --- | 
| nerdctl | Requiere una configuración en containerd | 
| CLI de Finch | Soporte nativo de SOCI | 
| Docker \$1 SOCI CLI | Se requieren herramientas adicionales | 

**Topics**
+ [Ventajas principales](#soci-indexing-key-benefits)
+ [¿Cómo funciona la indexación SOCI](#soci-indexing-how-works)
+ [Componentes de arquitectura](#soci-indexing-architecture-components)
+ [Herramientas admitidas](#soci-indexing-supported-tools)
+ [Permisos para la indexación de SOCI](soci-indexing-setup.md)
+ [Ejemplo de creación de índices SOCI con nerdctl y SOCI CLI](soci-indexing-example-create-indexes.md)
+ [Ejemplo de integración de imágenes indexadas en redes SOCIALES con Studio](soci-indexing-example-integrate-studio.md)

# Permisos para la indexación de SOCI
<a name="soci-indexing-setup"></a>

[Cree índices SOCI para las imágenes de sus contenedores y almacénelos en Amazon ECR antes de utilizar la indexación SOCI con [Amazon SageMaker Studio](studio-updated.md) Amazon Unified Studio. SageMaker ](https://docs.aws.amazon.com/sagemaker-unified-studio/latest/userguide/what-is-sagemaker-unified-studio.html)

**Topics**
+ [Requisitos previos](#soci-indexing-setup-prerequisites)
+ [Permisos de IAM necesarios](#soci-indexing-setup-iam-permissions)

## Requisitos previos
<a name="soci-indexing-setup-prerequisites"></a>
+ Cuenta de AWS con un rol [AWS Identity and Access Management](https://docs.aws.amazon.com/IAM/latest/UserGuide/getting-started.html)(IAM) con permisos de administración
  + [Amazon ECR](https://docs.aws.amazon.com/AmazonECR/latest/userguide/what-is-ecr.html)
  + [Amazon SageMaker AI](https://docs.aws.amazon.com/sagemaker/latest/dg/gs.html)
+ [Repositorios privados de Amazon ECR](https://docs.aws.amazon.com/AmazonECR/latest/userguide/Repositories.html) para almacenar las imágenes de sus contenedores
+ [AWS CLI La versión 2.0\$1 está configurada](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html) con las credenciales adecuadas
+ Las siguientes herramientas de contenedor:
  + Necesario: [soci-snapshotter](https://github.com/awslabs/soci-snapshotter)
  + Opciones:
    + [nerdctl](https://github.com/containerd/nerdctl)
    + [pinzón](https://github.com/runfinch/finch)

## Permisos de IAM necesarios
<a name="soci-indexing-setup-iam-permissions"></a>

Su función de IAM necesita permisos para:
+ Cree y gestione recursos de SageMaker IA (dominios, imágenes, configuraciones de aplicaciones).
  + Puede utilizar la política [SageMakerFullAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonSageMakerFullAccess.html) AWS gestionada. Para obtener más información sobre los permisos, consulte[AWS política gestionada: AmazonSageMakerFullAccess](security-iam-awsmanpol.md#security-iam-awsmanpol-AmazonSageMakerFullAccess).
+ [Permisos de IAM para enviar una imagen a un repositorio privado de Amazon ECR.](https://docs.aws.amazon.com/AmazonECR/latest/userguide/image-push-iam.html)

# Ejemplo de creación de índices SOCI con nerdctl y SOCI CLI
<a name="soci-indexing-example-create-indexes"></a>

La siguiente página proporciona un ejemplo sobre cómo crear índices SOCI con nerdctl y SOCI CLI.

**Ejemplo de creación de índices SOCI**

1. Primero configure las variables para los AWS CLI comandos siguientes. El siguiente es un ejemplo de cómo configurar las variables.

   ```
   ACCOUNT_ID="111122223333"
   REGION="us-east-1"
   REPOSITORY_NAME="repository-name"
   ORIGINAL_IMAGE_TAG="original-image-tag"
   SOCI_IMAGE_TAG="soci-indexed-image-tag"
   ```

   Definiciones de variables:
   + `ACCOUNT_ID`es tu Cuenta de AWS ID
   + `REGION`es el Región de AWS de su registro privado de Amazon ECR
   + `REPOSITORY_NAME`es el nombre de su registro privado de Amazon ECR
   + `ORIGINAL_IMAGE_TAG`es la etiqueta de tu imagen original
   + `SOCI_IMAGE_TAG`es la etiqueta de tu imagen indexada en redes sociales

1. Instale las herramientas necesarias:

   ```
   # Install SOCI CLI, containerd, and nerdctl
   sudo yum install soci-snapshotter
   sudo yum install containerd jq  
   sudo systemctl start soci-snapshotter
   sudo systemctl restart containerd
   sudo yum install nerdctl
   ```

1. Configure sus variables de registro:

   ```
   REGISTRY_USER=AWS
   REGISTRY="$ACCOUNT_ID.dkr.ecr.$REGION.amazonaws.com"
   ```

1. Exporte su región y autentifíquese en Amazon ECR:

   ```
   export AWS_REGION=$REGION
   REGISTRY_PASSWORD=$(/usr/local/bin/aws ecr get-login-password --region $AWS_REGION)
   echo $REGISTRY_PASSWORD | sudo nerdctl login -u $REGISTRY_USER --password-stdin $REGISTRY
   ```

1. Extraiga la imagen original del contenedor:

   ```
   sudo nerdctl pull $REGISTRY/$REPOSITORY_NAME:$ORIGINAL_IMAGE_TAG
   ```

1. Cree el índice SOCI:

   ```
   sudo nerdctl image convert --soci $REGISTRY/$REPOSITORY_NAME:$ORIGINAL_IMAGE_TAG $REGISTRY/$REPOSITORY_NAME:$SOCI_IMAGE_TAG
   ```

1. Empuje la imagen indexada por el SOCII:

   ```
   sudo nerdctl push --platform linux/amd64 $REGISTRY/$REPOSITORY_NAME:$SOCI_IMAGE_TAG
   ```

Este proceso crea dos artefactos para la imagen del contenedor original en su repositorio de ECR:
+ Índice SOCI: los metadatos permiten la carga diferida
+ Manifiesto del índice de imágenes: manifiesto compatible con OCI

# Ejemplo de integración de imágenes indexadas en redes SOCIALES con Studio
<a name="soci-indexing-example-integrate-studio"></a>

Debe hacer referencia a la etiqueta de imagen indexada por la red SOCIAL para utilizar imágenes indexadas por la red SOCIAL en Studio, en lugar de a la etiqueta de imagen contenedora original. Usa la etiqueta que especificaste durante el proceso de conversión a SOCI (por ejemplo, en). `SOCI_IMAGE_TAG` [Ejemplo de creación de índices SOCI con nerdctl y SOCI CLI](soci-indexing-example-create-indexes.md)

**Ejemplo de integración de imágenes indexadas por SOCII**

1. Primero configura tus variables para los AWS CLI comandos siguientes. El siguiente es un ejemplo de cómo configurar las variables.

   ```
   ACCOUNT_ID="111122223333"
   REGION="us-east-1"
   IMAGE_NAME="sagemaker-image-name"
   IMAGE_CONFIG_NAME="sagemaker-image-config-name"
   ROLE_ARN="your-role-arn"
   DOMAIN_ID="domain-id"
   SOCI_IMAGE_TAG="soci-indexed-image-tag"
   ```

   Definiciones de variables:
   + `ACCOUNT_ID`es tu Cuenta de AWS ID
   + `REGION`es el Región de AWS de su registro privado de Amazon ECR
   + `IMAGE_NAME`es el nombre de tu imagen SageMaker 
   + `IMAGE_CONFIG_NAME`es el nombre de la configuración de SageMaker la imagen
   + `ROLE_ARN`es el ARN de su función de ejecución con los permisos que figuran en Permisos de IAM [obligatorios](soci-indexing-setup.md#soci-indexing-setup-iam-permissions)
   + `DOMAIN_ID`[es el ID de dominio](https://docs.aws.amazon.com/sagemaker/latest/dg/domain-view.html)
**nota**  
Si va a adjuntar la imagen a un proyecto de SageMaker Unified Studio y necesita que se le aclare qué dominio usar, consulte [Ver los detalles del dominio de SageMaker IA asociados a su proyecto](https://docs.aws.amazon.com/sagemaker-unified-studio/latest/userguide/view-project-details.html#view-project-details-smai-domain).
   + `SOCI_IMAGE_TAG`es la etiqueta de tu imagen indexada en redes SOCIALES

1. Exporta tu región:

   ```
   export AWS_REGION=$REGION
   ```

1. Crea una SageMaker imagen:

   ```
   aws sagemaker create-image \
       --image-name "$IMAGE_NAME" \
       --role-arn "$ROLE_ARN"
   ```

1. Cree una versión SageMaker de imagen utilizando su URI de índice SOCI:

   ```
   IMAGE_INDEX_URI="$ACCOUNT_ID.dkr.ecr.$REGION.amazonaws.com/$IMAGE_NAME:$SOCI_IMAGE_TAG"
   
   aws sagemaker create-image-version \
       --image-name "$IMAGE_NAME" \
       --base-image "$IMAGE_INDEX_URI"
   ```

1. Crea una configuración de imagen de aplicación y actualiza tu dominio de Amazon SageMaker AI para incluir la imagen personalizada de tu aplicación. Puede hacerlo para el editor de código, basado en Code-OSS, Visual Studio Code: Open Source (editor de código) y JupyterLab aplicaciones. Seleccione la opción de aplicación que aparece a continuación para ver los pasos.

------
#### [ Code Editor ]

   Cree una configuración de imagen de aplicación para Code Editor:

   ```
   aws sagemaker create-app-image-config \
       --app-image-config-name "$IMAGE_CONFIG_NAME" \
       --code-editor-app-image-config '{ "FileSystemConfig": { "MountPath": "/home/sagemaker-user", "DefaultUid": 1000, "DefaultGid": 100 } }'
   ```

   Actualiza tu dominio de Amazon SageMaker AI para incluir la imagen personalizada para Code Editor:

   ```
   aws sagemaker update-domain \
       --domain-id "$DOMAIN_ID" \
       --default-user-settings '{
           "CodeEditorAppSettings": {
           "CustomImages": [{
               "ImageName": "$IMAGE_NAME", 
               "AppImageConfigName": "$IMAGE_CONFIG_NAME"
           }]
       }
   }'
   ```

------
#### [ JupyterLab ]

   Cree una configuración de imagen de aplicación para JupyterLab:

   ```
   aws sagemaker create-app-image-config \
       --app-image-config-name "$IMAGE_CONFIG_NAME" \
       --jupyter-lab-app-image-config '{ "FileSystemConfig": { "MountPath": "/home/sagemaker-user", "DefaultUid": 1000, "DefaultGid": 100 } }'
   ```

   Actualiza tu dominio de Amazon SageMaker AI para incluir la imagen personalizada de JupyterLab:

   ```
   aws sagemaker update-domain \
       --domain-id "$DOMAIN_ID" \
       --default-user-settings '{
           "JupyterLabAppSettings": {
           "CustomImages": [{
               "ImageName": "$IMAGE_NAME", 
               "AppImageConfigName": "$IMAGE_CONFIG_NAME"
           }]
       }
   }'
   ```

------

1. Después de actualizar tu dominio para incluir tu imagen personalizada, puedes crear una aplicación en Studio con tu imagen personalizada. Cuando te [Inicio de una imagen personalizada en Studio](studio-updated-byoi-how-to-launch.md) asegures de usar tu imagen personalizada.

# Desasociación y eliminación de los recursos de imágenes personalizadas
<a name="studio-updated-byoi-how-to-detach-from-domain"></a>

En la siguiente página se proporcionan instrucciones sobre cómo separar las imágenes personalizadas y limpiar los recursos relacionados mediante la consola Amazon SageMaker AI o el AWS Command Line Interface (AWS CLI). 

**importante**  
Primero debes separar la imagen personalizada de tu dominio antes de eliminarla del almacén de imágenes de SageMaker IA. De lo contrario, es posible que se produzcan errores al consultar la información de su dominio o al asociar nuevas imágenes personalizadas a su dominio.   
Si se produce un error al cargar una imagen personalizada, consulte [Error al cargar la imagen personalizada](studio-updated-troubleshooting.md#studio-updated-troubleshooting-custom-image). 

## Desasociación y eliminación de imágenes personalizadas (consola)
<a name="studio-updated-byoi-how-to-detach-from-domain-console"></a>

A continuación, se proporcionan instrucciones sobre cómo separar tus imágenes personalizadas de la SageMaker IA y limpiar tus recursos de imágenes personalizadas mediante la consola.

**Desasociación de la imagen personalizada de su dominio**

1. Abre la [consola de SageMaker IA.](https://console.aws.amazon.com/sagemaker)

1. Amplíe la sección **Configuraciones de administración**.

1. En **Configuraciones de administración**, elija **Dominios**.

1. En la lista de **dominios**, seleccione un dominio.

1. Abra la pestaña **Entorno**.

1. En el caso de **Imágenes personalizadas para aplicaciones de Studio personales**, seleccione las casillas de verificación de las imágenes que quiere desasociar.

1. Elija **Desasociar**.

1. Siga las instrucciones para desasociar.

**Eliminación de la imagen personalizada**

1. Abre la [consola de SageMaker IA](https://console.aws.amazon.com/sagemaker).

1. Expanda la sección **Configuraciones de administración**, si aún no lo ha hecho.

1. En **Configuraciones de administrador**, elija **Imágenes**.

1. En la lista de **imágenes**, seleccione la imagen que quiera eliminar.

1. Elija **Eliminar**.

1. Sigue las instrucciones para eliminar tu imagen y todas sus versiones de la SageMaker IA.

**Eliminación de las imágenes personalizadas y el repositorio de Amazon ECR**
**importante**  
De este modo, también se eliminarán todas las imágenes y artefactos del contenedor que se encuentren en ese repositorio.

1. Abra la [consola de Amazon ECR](https://console.aws.amazon.com/ecr).

1. Expanda el panel de navegación de la izquierda, si todavía no lo ha hecho.

1. En **Registro privado**, seleccione **Repositorios**.

1. Seleccione los repositorios que desea eliminar.

1. Elija **Eliminar**.

1. Siga las instrucciones para eliminar.

## Desasociación y eliminación de imágenes personalizadas (AWS CLI)
<a name="studio-updated-byoi-how-to-detach-from-domain-cli"></a>

En la siguiente sección se muestra un ejemplo de cómo desasociar las imágenes personalizadas desde la AWS CLI.

1. Primero configura tus variables para los AWS CLI comandos siguientes.

   ```
   ACCOUNT_ID=account-id
   REGION=aws-region
   APP_IMAGE_CONFIG=app-image-config
   SAGEMAKER_IMAGE_NAME=custom-image-name
   ```
   + `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. 
   + `app-image-config` es el nombre de la configuración de la imagen de su aplicación. Utilice el siguiente AWS CLI comando para enumerar las configuraciones de imagen de la aplicación en su Región de AWS.

     ```
     aws sagemaker list-app-image-configs \
            --region ${REGION}
     ```
   + `custom-image-name` es el nombre de la imagen personalizada. Utilice el siguiente AWS CLI comando para enumerar las imágenes de su Región de AWS.

     ```
     aws sagemaker list-images \
            --region ${REGION}
     ```

1. Para desasociar la imagen y las versiones de la imagen de su dominio siguiendo estas instrucciones, tendrás que crear o actualizar un archivo json de configuración del dominio.
**nota**  
Si ha seguido las instrucciones que se indican en [Asociación de la imagen personalizada a su dominio](studio-updated-byoi-how-to-attach-to-domain.md), es posible que haya actualizado su dominio con el archivo denominado `update-domain.json`.   
Si no tiene ese archivo, puede crear un nuevo archivo json en su lugar.

   Cree un archivo denominado `update-domain.json` que utilizará para actualizar su dominio.

1. Para eliminar las imágenes personalizadas, tendrá que dejar `CustomImages` en blanco, como, por ejemplo, `"CustomImages": []`. Elija una de las siguientes opciones para ver ejemplos de archivos de configuración para Code Editor o JupyterLab.

------
#### [ Code Editor: update domain configuration file example ]

   Ejemplo de archivo de configuración para Editor de código donde se utiliza [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CodeEditorAppSettings.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CodeEditorAppSettings.html).

   ```
   {
       "DomainId": "domain-id",
       "DefaultUserSettings": {
           "CodeEditorAppSettings": {
               "CustomImages": [
               ]
           }
       }
   }
   ```

------
#### [ JupyterLab: update domain configuration file example ]

   Un ejemplo de archivo de configuración para JupyterLab, utilizando [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_JupyterLabAppSettings.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_JupyterLabAppSettings.html).

   ```
   {
       "DomainId": "domain-id",
       "DefaultUserSettings": {
           "JupyterLabAppSettings": {
               "CustomImages": [
               ]
           }
       }
   }
   ```

------

   `domain-id` es el ID de dominio al que está asociada su imagen. Utilice el siguiente comando para enumerar sus dominios.

   ```
   aws sagemaker list-domains \
         --region ${REGION}
   ```

1. Guarde el archivo.

1. Llame al [dominio de actualización](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/sagemaker/update-domain.html) AWS CLI mediante el archivo de configuración del dominio de actualización,. `update-domain.json`
**nota**  
Para poder actualizar las imágenes personalizadas, primero debe eliminar todas las **aplicaciones** de su dominio. **No** necesita eliminar los perfiles de usuario ni los espacios compartidos. Para obtener instrucciones sobre cómo eliminar aplicaciones, elija una de las siguientes opciones.  
Si desea utilizar la consola de SageMaker IA, consulte. [Cierre los recursos de SageMaker IA de su dominio](sm-console-domain-resources-shut-down.md)
Si desea utilizar la AWS CLI, siga los pasos 1 a 3 de[Eliminar un dominio de Amazon SageMaker AI (AWS CLI)](gs-studio-delete-domain.md#gs-studio-delete-domain-cli).

   ```
   aws sagemaker update-domain \
       --cli-input-json file://update-domain.json \
       --region ${REGION}
   ```

1. Elimine la configuración de imágenes de la aplicación.

   ```
   aws sagemaker delete-app-image-config \
       --app-image-config-name ${APP_IMAGE_CONFIG}
   ```

1. Elimine la imagen personalizada. Esto también elimina todas las versiones de la imagen. Esto no elimina la imagen del contenedor de Amazon ECR ni las versiones de la imagen. Para ello, siga los pasos opcionales que se indican a continuación.

   ```
   aws sagemaker delete-image \
       --image-name ${SAGEMAKER_IMAGE_NAME}
   ```

1. (Opcional) Elimine los recursos de Amazon ECR. La siguiente lista proporciona AWS CLI comandos para obtener la información de recursos de Amazon ECR para los pasos que se indican a continuación.

   1. Configure sus variables para los AWS CLI comandos siguientes.

      ```
      ECR_REPO_NAME=ecr-repository-name
      ```

      `ecr-repository-name` es el nombre de su repositorio de Amazon Elastic Container Registry. 

      Para obtener una lista de los detalles de sus repositorios, utilice el siguiente comando.

      ```
      aws ecr describe-repositories \
              --region ${REGION}
      ```

   1. Elimine su repositorio de Amazon ECR. 
**importante**  
De este modo, también se eliminarán todas las imágenes y artefactos del contenedor que se encuentren en ese repositorio.

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