本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
自訂映像
如果您需要與 SageMaker 分佈所提供的功能不同的功能,您可以使用自訂擴充功能和套件來攜帶自己的映像。您也可以使用它來個人化 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 規格。
Dockerfile
您可以在 Amazon SageMaker Unified Studio 使用者指南的 Dockerfile 範例中找到 SageMaker Unified Studio 的範例。 Amazon SageMaker
- Example AL2023 Dockerfile
-
以下是AL2023Dockerfile符合上述資訊和 的範例自訂映像規格。
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 分佈 Dockerfile
-
以下是Amazon SageMaker DistributionDockerfile符合上述資訊和 的範例自訂映像規格。
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 ["jupyter-lab"]
CMD ["--ServerApp.ip=0.0.0.0", "--ServerApp.port=8888", "--ServerApp.allow_origin=*", "--ServerApp.token=''", "--ServerApp.base_url=/jupyterlab/default"]