自訂映像 - Amazon SageMaker AI

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

自訂映像

如果您需要的功能與 SageMaker Distribution 提供的功能不同,您可以自帶映像搭配您的自訂延伸模組和套件。您也可以使用它,為您自己的品牌或合規需求個人化 JupyterLab UI。

以下頁面將提供 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目錄 AWS。/opt/ml 中的中繼資料檔案包含有關資源的中繼資料,例如 DomainId

  • 驗證 - 若要為使用者啟用驗證,請關閉 Jupyter 筆記本權杖或密碼型驗證,並允許所有原始項目。

Dockerfile 範例

下列範例是符合上述資訊和 自訂映像規格Dockerfile

注意

如果您要將自有映像帶入 SageMaker Unified Studio,則需要遵循《Amazon SageMaker Unified Studio 使用者指南》中的 Dockerfile 規格

您可以在《Amazon SageMaker Unified Studio 使用者指南》Dockerfile 範例中找到 SageMaker Unified Studio 的 Dockerfile 範例。

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 ENTRYPOINT ["entrypoint-jupyter-server"]