View a markdown version of this page

自定义镜像 - 亚马逊 SageMaker AI

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

自定义镜像

如果您需要的功能与 SageMaker 发行版提供的功能不同,则可以自带带有自定义扩展和软件包的镜像。您还可以使用它对 JupyterLab 用户界面进行个性化设置,以满足自己的品牌或合规需求。

下一页将提供用于创建您自己的自定义 SageMaker AI 镜像的 JupyterLab-specific 信息和模板。这旨在补充 Amazon SageMaker Studio 关于创建自己的 SageMaker AI 图像和将自己的图像带到 Studio 的信息和说明。要了解有关自定义 Amazon SageMaker AI 图像以及如何将自己的图像带到 Studio 的信息,请参阅自带映像(BYOI)

应用程序的运行状况检查和 URL

  • Base URL:BYOI 应用程序的基本 URL 必须为 jupyterlab/default。您只能有一个应用程序,且必须始终命名为 default

  • HealthCheck API— SageMaker AI 使用端口的运行状况检查端点8888来检查 JupyterLab应用程序的运行状况。 jupyterlab/default/api/status是运行状况检查的终端节点。

  • Home/Default URL— 使用的/opt/.sagemakerinternal/opt/ml目录 AWS。/opt/ml 中的元数据文件包含有关 DomainId 等资源的元数据。

  • 身份验证:要为用户启用身份验证,请关闭基于令牌或密码的 Jupyter Notebook 身份验证,并允许所有来源。

Dockerfile 示例

以下示例是符合上述信息与自定义映像规范Dockerfile

注意

如果您要将自己的镜像带到 SageMaker Unified Studio,则需要遵循亚马逊 Unifie SageMaker d Studio 用户指南中的 Dockerfile 规范

Dockerfile SageMaker Unified Studio 的示例可以在亚马逊 Unified Studio 用户指南的 Docker SageMaker f ile 示例中找到。

Example AL2023 Dockerfile

以下是符合上述信息与自定义映像规范的示例 AL2023 Dockerfile。

FROM public.ecr.aws/amazonlinux/amazonlinux:2023 ARG NB_USER="sagemaker-user" ARG NB_UID=1000 ARG NB_GID=100 # Install Python3, pip, and other dependencies RUN yum install -y \ python3 \ python3-pip \ python3-devel \ gcc \ shadow-utils && \ useradd --create-home --shell /bin/bash --gid "${NB_GID}" --uid ${NB_UID} ${NB_USER} && \ yum clean all RUN python3 -m pip install --no-cache-dir \ 'jupyterlab>=4.0.0,<5.0.0' \ urllib3 \ jupyter-activity-monitor-extension \ --ignore-installed # Verify versions RUN python3 --version && \ jupyter lab --version USER ${NB_UID} CMD jupyter lab --ip 0.0.0.0 --port 8888 \ --ServerApp.base_url="/jupyterlab/default" \ --ServerApp.token='' \ --ServerApp.allow_origin='*'
Example 亚马逊 SageMaker 配送 Dockerfile

以下是符合上述信息与自定义映像规范的示例 Amazon SageMaker Distribution Dockerfile。

FROM public.ecr.aws/sagemaker/sagemaker-distribution:latest-cpu ARG NB_USER="sagemaker-user" ARG NB_UID=1000 ARG NB_GID=100 ENV MAMBA_USER=$NB_USER USER root RUN apt-get update RUN micromamba install sagemaker-inference --freeze-installed --yes --channel conda-forge --name base USER $MAMBA_USER ENTRYPOINT ["entrypoint-jupyter-server"]