本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
自訂映像
如果您需要的功能與 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"]