

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

# 更新容器組態
<a name="studio-updated-byoi-how-to-container-configuration"></a>

您可以將自訂 Docker 映像帶入機器學習工作流程。自訂這些映像的關鍵層面是設定容器組態或 [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ContainerConfig.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ContainerConfig.html)。以下頁面提供如何設定 `ContainerConfig` 的範例。

進入點是在容器啟動時執行的命令或指令碼。自訂進入點可讓您在應用程式啟動之前設定環境、初始化服務，或執行任何必要的設定。

此範例提供如何使用 AWS CLI為 JupyterLab 應用程式設定自訂進入點的指示。此範例假設您已建立自訂映像和網域。如需說明，請參閱[將自訂映像連接至您的網域](studio-updated-byoi-how-to-attach-to-domain.md)。

1. 首先為後續的 AWS CLI 命令設定變數。

   ```
   APP_IMAGE_CONFIG_NAME={{app-image-config-name}}
   ENTRYPOINT_FILE={{entrypoint-file-name}}
   ENV_KEY={{environment-key}}
   ENV_VALUE={{environment-value}}
   REGION={{aws-region}}
   DOMAIN_ID={{domain-id}}
   IMAGE_NAME={{custom-image-name}}
   IMAGE_VERSION={{custom-image-version}}
   ```
   + `{{app-image-config-name}}` 是應用程式映像組態的名稱。
   + `{{entrypoint-file-name}}` 是容器進入點指令碼的名稱。例如 `entrypoint.sh`。
   + `{{environment-key}}` 是環境變數的名稱。
   + `{{environment-value}}` 是指派給環境變數的值。
   + `{{aws-region}}` 是 Amazon SageMaker AI 網域 AWS 區域 的 。您可以在任何 AWS 主控台頁面的右上角找到此項目。
   + `{{domain-id}}` 是您的網域 ID。若要檢視您的網域，請參閱[檢視網域](domain-view.md)。
   + `{{custom-image-name}}` 是自訂映像的名稱。若要檢視您的自訂映像詳細資訊，請參閱[檢視自訂映像詳細資訊 (主控台)](studio-updated-byoi-view-images.md#studio-updated-byoi-view-images-console)。

     如果您已遵循[將自訂映像連接至您的網域](studio-updated-byoi-how-to-attach-to-domain.md)中的指示，您可能想要使用已在該程序中使用的相同映像名稱。
   + `{{custom-image-version}}` 是自訂映像的版本編號。這應該是整數，代表映像的版本。若要檢視您的自訂映像詳細資訊，請參閱[檢視自訂映像詳細資訊 (主控台)](studio-updated-byoi-view-images.md#studio-updated-byoi-view-images-console)。

1. 使用 [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAppImageConfig.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAppImageConfig.html) API 建立映像組態。

   ```
   aws sagemaker create-app-image-config \
       --region ${REGION} \
       --app-image-config-name "${APP_IMAGE_CONFIG_NAME}" \
       --jupyter-lab-app-image-config "ContainerConfig = {
           ContainerEntrypoint = "${ENTRYPOINT_FILE}", 
           ContainerEnvironmentVariables = {
               "${ENV_KEY}"="${ENV_VALUE}"
           }
       }"
   ```

1. 使用 [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateDomain.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateDomain.html) API 更新網域的預設設定。這將連接自訂映像以及應用程式映像組態。

   ```
   aws sagemaker update-domain \
       --region ${REGION} \
       --domain-id "${DOMAIN_ID}" \
       --default-user-settings "{
           \"JupyterLabAppSettings\": {
               \"CustomImages\": [
                   {
                       \"ImageName\": \"${IMAGE_NAME}\",
                       \"ImageVersionNumber\": ${IMAGE_VERSION},
                       \"AppImageConfigName\": \"${APP_IMAGE_CONFIG_NAME}\"
                   }
               ]
           }
       }"
   ```