自訂映像 - Amazon SageMaker AI

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

自訂映像

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

以下頁面將提供程式碼編輯器特定的資訊和範本,以建立您自己的自訂 SageMaker AI 映像。這是為了補充 Amazon SageMaker Studio 的資訊和指示,以建立您自己的 SageMaker AI 映像並自帶映像至 Studio。若要了解自訂 Amazon SageMaker AI 映像,以及如何自帶映像至 Studio,請參閱 自帶映像 (BYOI)

應用程式的運作狀態檢查和 URL

  • Base URL - BYOI 應用程式的基礎 URL 必須為 CodeEditor/default。您只能有一個應用程式,且必須一律命名為 default

  • 運作狀態檢查端點 - 您必須將程式碼編輯器伺服器託管在 0.0.0.0 連接埠 8888,SageMaker AI 才能偵測它。

  • 驗證 - 您必須在開啟 --without-connection-token 時傳遞 sagemaker-code-editor,以允許 SageMaker AI 驗證您的使用者。

注意

如果您使用 Amazon SageMaker Distribution 作為基礎映像,這些要求已在包含的 entrypoint-code-editor 指令碼中處理。

Dockerfile 範例

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

注意

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

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

Example micromamba Dockerfile

以下是使用 micromamba 基礎環境從頭開始建立映像的範例 Dockerfile:

FROM mambaorg/micromamba:latest ARG NB_USER="sagemaker-user" ARG NB_UID=1000 ARG NB_GID=100 USER root RUN micromamba install -y --name base -c conda-forge sagemaker-code-editor USER $NB_UID CMD eval "$(micromamba shell hook --shell=bash)"; \ micromamba activate base; \ sagemaker-code-editor --host 0.0.0.0 --port 8888 \ --without-connection-token \ --base-path "/CodeEditor/default"
Example SageMaker AI Distribution Dockerfile

以下是根據 Amazon SageMaker AI 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 # install scrapy in the base environment RUN micromamba install -y --name base -c conda-forge scrapy # download VSCodeVim RUN \ wget https://github.com/VSCodeVim/Vim/releases/download/v1.27.2/vim-1.27.2.vsix \ -P /tmp/exts/ --no-check-certificate # Install the extension RUN \ extensionloc=/opt/amazon/sagemaker/sagemaker-code-editor-server-data/extensions \ && sagemaker-code-editor \ --install-extension "/tmp/exts/vim-1.27.2.vsix" \ --extensions-dir "${extensionloc}" USER $MAMBA_USER ENTRYPOINT ["entrypoint-code-editor"]