Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅
中国的 Amazon Web Services 服务入门
(PDF)。
本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
自定义镜像
如果您需要的功能与 SageMaker 发行版提供的功能不同,则可以自带带有自定义扩展和软件包的镜像。您还可以使用它对 JupyterLab 用户界面进行个性化设置,以满足自己的品牌或合规需求。
下一页将提供 JupyterLab特定信息和模板,用于创建您自己的自定义 SageMaker AI 镜像。这旨在补充 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
目录 Amazon。/opt/ml
中的元数据文件包含有关 DomainId
等资源的元数据。
-
身份验证:要为用户启用身份验证,请关闭基于令牌或密码的 Jupyter Notebook 身份验证,并允许所有来源。
Dockerfile 示例
以下示例符合Dockerfile
上述信息,并且自定义映像规范.
添加ENTRYPOINT
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 Amazon SageMaker Distribution 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
CMD ["--ServerApp.ip=0.0.0.0", "--ServerApp.port=8888", "--ServerApp.allow_origin=*", "--ServerApp.token=''", "--ServerApp.base_url=/jupyterlab/default"]