

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

# 自訂映像
<a name="studio-updated-jl-admin-guide-custom-images"></a>

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

以下頁面將提供 JupyterLab 特定資訊和範本，以建立您自己的自訂 SageMaker AI 映像。這是為了補充 Amazon SageMaker Studio 的資訊和指示，以建立您自己的 SageMaker AI 映像並自帶映像至 Studio。若要了解自訂 Amazon SageMaker AI 映像，以及如何自帶映像至 Studio，請參閱 [自帶映像 (BYOI)](studio-updated-byoi.md)。

**Topics**
+ [應用程式的運作狀態檢查和 URL](#studio-updated-jl-admin-guide-custom-images-app-healthcheck)
+ [Dockerfile 範例](#studio-updated-jl-custom-images-dockerfile-templates)

## 應用程式的運作狀態檢查和 URL
<a name="studio-updated-jl-admin-guide-custom-images-app-healthcheck"></a>
+ `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 範例
<a name="studio-updated-jl-custom-images-dockerfile-templates"></a>

下列範例是符合上述資訊和 [自訂映像規格](studio-updated-byoi-specs.md) 的 `Dockerfile`。

**注意**  
如果您要將自有映像帶入 SageMaker Unified Studio，則需要遵循《Amazon SageMaker Unified Studio 使用者指南》**中的 [Dockerfile 規格](https://docs.aws.amazon.com/sagemaker-unified-studio/latest/userguide/byoi-specifications.html)。  
您可以在《Amazon SageMaker Unified Studio 使用者指南》**的 [Dockerfile 範例中](https://docs.aws.amazon.com/sagemaker-unified-studio/latest/userguide/byoi-specifications.html#byoi-specifications-example)找到 SageMaker Unified Studio 的 `Dockerfile` 範例。

------
#### [ Example AL2023 Dockerfile ]

以下是符合上述資訊和 [自訂映像規格](studio-updated-byoi-specs.md) 的範例 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 ]

以下是符合上述資訊和 [自訂映像規格](studio-updated-byoi-specs.md) 的範例 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"]
```

------