

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 分离并清理自定义映像资源
<a name="studio-updated-byoi-how-to-detach-from-domain"></a>

以下页面提供了有关如何使用 Amazon A SageMaker I 控制台或 AWS Command Line Interface (AWS CLI) 分离您的自定义映像和清理相关资源的说明。

**重要**  
在从 SageMaker AI 图像存储库中删除图片之前，必须先将自定义图像与域分离。否则，您在查看域信息或将新的自定义映像附加到域时，可能会遇到错误。  
如果您在加载自定义映像时遇到错误，请参阅[加载自定义映像失败](studio-updated-troubleshooting.md#studio-updated-troubleshooting-custom-image)。

## 分离和删除自定义映像（控制台）
<a name="studio-updated-byoi-how-to-detach-from-domain-console"></a>

以下内容提供了有关如何使用控制台将您的自定义映像与 SageMaker AI 分离以及清理自定义图像资源的说明。

**将自定义映像与域分离**

1. 打开 A [SageMaker I 控制台](https://console.aws.amazon.com/sagemaker)。

1. 展开**管理员配置**部分。

1. 在**管理员配置**下，选择**域**。

1. 从**域**列表中选择一个域。

1. 打开**环境**选项卡。

1. 对于**个人 Studio 应用程序的自定义镜像**，请选中要分离的映像的复选框。

1. 选择**分离**。

1. 按照说明操作以进行分离。

**删除自定义映像**

1. 打开 A [SageMaker I 控制台](https://console.aws.amazon.com/sagemaker)。

1. 展开**管理员配置**部分（如果尚未这样做）。

1. 在**管理员配置**下，选择**映像**。

1. 从**映像**列表中，选择要删除的映像。

1. 选择**删除**。

1. 按照说明从 SageMaker AI 中删除您的图像及其所有版本。

**从 Amazon ECR 中删除自定义映像和存储库**
**重要**  
这也将删除此存储库中的所有容器映像和构件。

1. 打开 [Amazon ECR 控制台](https://console.aws.amazon.com/ecr)。

1. 如果尚未这样做，请展开左侧导航窗格。

1. 在**私有注册表**下，选择**存储库**。

1. 选择要删除的存储库。

1. 选择**删除**。

1. 按照说明操作以进行删除。

## 分离和删除自定义映像（AWS CLI）
<a name="studio-updated-byoi-how-to-detach-from-domain-cli"></a>

以下部分显示了有关如何使用 AWS CLI分离自定义映像的示例。

1. 首先为接下来的 AWS CLI 命令设置变量。

   ```
   ACCOUNT_ID=account-id
   REGION=aws-region
   APP_IMAGE_CONFIG=app-image-config
   SAGEMAKER_IMAGE_NAME=custom-image-name
   ```
   + `aws-region`是 AWS 区域 您的亚马逊 A SageMaker I 域名。你可以在任何 AWS 主机页面的右上角找到它。
   + `app-image-config` 是应用程序映像配置的名称。使用以下 AWS CLI 命令列出中的应用程序映像配置 AWS 区域。

     ```
     aws sagemaker list-app-image-configs \
            --region ${REGION}
     ```
   + `custom-image-name` 是自定义映像名称。使用以下 AWS CLI 命令列出您的中的图像 AWS 区域。

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

1. 要按照这些说明操作以将映像和映像版本与域分离，您需要创建或更新域配置 json 文件。
**注意**  
如果已按照[将自定义映像附加到域](studio-updated-byoi-how-to-attach-to-domain.md)中的说明操作，则可能已使用名为 `update-domain.json` 的文件更新域。  
如果您没有此文件，可改为创建一个新的 json 文件。

   创建一个名为 `update-domain.json` 的文件，您将使用此文件更新域。

1. 要删除自定义映像，需将 `CustomImages` 留空，即 `"CustomImages": []`。选择以下选项之一，查看代码编辑器的示例配置文件或 JupyterLab。

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

   使用 [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 ]

   的配置文件示例 JupyterLab，使用[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` 是映像附加到的域 ID。使用以下命令列出域。

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

1. 保存该文件。

1. 使用[更新域](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/sagemaker/update-domain.html)配置文件调 AWS CLI 用更新域。`update-domain.json`
**注意**  
必须先删除域中的所有**应用程序**，之后才能更新自定义映像。您**无需**删除用户配置文件或共享空间。有关删除应用程序的说明，请选择以下选项之一。  
如果要使用 SageMaker AI 控制台，请参阅[关闭你域中的 SageMaker AI 资源](sm-console-domain-resources-shut-down.md)。
如果要使用 AWS CLI，请使用中的步骤 1 到 3 [删除亚马逊 A SageMaker I 域名 (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. 删除应用程序映像配置。

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

1. 删除自定义映像。这还会删除所有映像版本。这不会删除 Amazon ECR 容器映像和映像版本。为此，请使用以下可选步骤。

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

1. （可选）删除 Amazon ECR 资源。以下列表提供了 AWS CLI 用于获取您的 Amazon ECR 资源信息的命令，用于执行以下步骤。

   1. 为接下来的 AWS CLI 命令设置变量。

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

      `ecr-repository-name` 是 Amazon Elastic Container Registry 存储库的名称。

      要列出存储库的详细信息，请使用以下命令。

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

   1. 从 Amazon ECR 中删除存储库。
**重要**  
这也将删除此存储库中的所有容器映像和构件。

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