分离并清理自定义映像资源 - 亚马逊 SageMaker AI
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

分离并清理自定义映像资源

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

重要

在从 SageMaker AI 图像存储库中删除图片之前,必须先将自定义图像与域分离。否则,您在查看域信息或将新的自定义映像附加到域时,可能会遇到错误。

如果您在加载自定义映像时遇到错误,请参阅加载自定义映像失败

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

将自定义映像与域分离
  1. 打开 A SageMaker I 控制台

  2. 展开管理员配置部分。

  3. 管理员配置下,选择

  4. 列表中选择一个域。

  5. 打开环境选项卡。

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

  7. 选择分离

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

删除自定义映像
  1. 打开 A SageMaker I 控制台

  2. 展开管理员配置部分(如果尚未这样做)。

  3. 管理员配置下,选择映像

  4. 映像列表中,选择要删除的映像。

  5. 选择删除

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

从 Amazon ECR 中删除自定义映像和存储库
重要

这也将删除此存储库中的所有容器映像和构件。

  1. 打开 Amazon ECR 控制台

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

  3. 私有注册表下,选择存储库

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

  5. 选择删除

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

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

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

    ACCOUNT_ID=account-id REGION=aws-region APP_IMAGE_CONFIG=app-image-config SAGEMAKER_IMAGE_NAME=custom-image-name
    • aws-region是你Amazon Web Services 区域的 Amazon A SageMaker I 域名。你可以在任何Amazon主机页面的右上角找到它。

    • app-image-config 是应用程序映像配置的名称。使用以下Amazon CLI命令列出中的应用程序映像配置Amazon Web Services 区域。

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

      aws sagemaker list-images \ --region ${REGION}
  2. 要按照这些说明操作以将映像和映像版本与域分离,您需要创建或更新域配置 json 文件。

    注意

    如果已按照将自定义映像附加到域中的说明操作,则可能已使用名为 update-domain.json 的文件更新域。

    如果您没有此文件,可改为创建一个新的 json 文件。

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

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

    Code Editor: update domain configuration file example

    使用 CodeEditorAppSettings 查看代码编辑器的配置文件示例。

    { "DomainId": "domain-id", "DefaultUserSettings": { "CodeEditorAppSettings": { "CustomImages": [ ] } } }
    JupyterLab: update domain configuration file example

    的配置文件示例 JupyterLab,使用JupyterLabAppSettings

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

    domain-id 是映像附加到的域 ID。使用以下命令列出域。

    aws sagemaker list-domains \ --region ${REGION}
  4. 保存该文件。

  5. 使用更新域配置文件调Amazon CLI用更新域。update-domain.json

    注意

    必须先删除域中的所有应用程序,之后才能更新自定义映像。您无需删除用户配置文件或共享空间。有关删除应用程序的说明,请选择以下选项之一。

    aws sagemaker update-domain \ --cli-input-json file://update-domain.json \ --region ${REGION}
  6. 删除应用程序映像配置。

    aws sagemaker delete-app-image-config \ --app-image-config-name ${APP_IMAGE_CONFIG}
  7. 删除自定义映像。这还会删除所有映像版本。这不会删除 Amazon ECR 容器映像和映像版本。为此,请使用以下可选步骤。

    aws sagemaker delete-image \ --image-name ${SAGEMAKER_IMAGE_NAME}
  8. (可选)删除 Amazon ECR 资源。以下列表提供了Amazon CLI用于获取您的 Amazon ECR 资源信息的命令,用于执行以下步骤。

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

      ECR_REPO_NAME=ecr-repository-name

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

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

      aws ecr describe-repositories \ --region ${REGION}
    2. 从 Amazon ECR 中删除存储库。

      重要

      这也将删除此存储库中的所有容器映像和构件。

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