

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 自定义映像规范
<a name="studio-updated-byoi-specs"></a>

您在 Dockerfile 中指定的映像必须符合以下各节中的规范，才能成功创建映像。

**Topics**
+ [运行映像](#studio-updated-byoi-specs-run)
+ [用户和文件系统规范](#studio-updated-byoi-specs-user-and-filesystem)
+ [应用程序的运行状况检查和 URL](#studio-updated-byoi-specs-app-healthcheck)
+ [Dockerfile 示例](#studio-updated-byoi-specs-dockerfile-templates)

## 运行映像
<a name="studio-updated-byoi-specs-run"></a>

以下配置可通过更新 [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ContainerConfig.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ContainerConfig.html) 来完成。有关示例，请参阅[更新容器配置](studio-updated-byoi-how-to-container-configuration.md)。
+ `Entrypoint` – 您可以配置运行时传递给容器的 `ContainerEntrypoint` 和 `ContainerArguments`。建议您使用 `ContainerConfig` 配置入口点。有关示例，请参阅上方链接。
+ `EnvVariables` – 在使用 Studio 时，可以为容器定义自定义 `ContainerEnvironment` 变量。可以选择使用 `ContainerConfig` 更新环境变量。有关示例，请参阅上方链接。

  SageMaker 特定于 AI 的环境变量优先，并将覆盖所有同名的变量。例如， SageMaker AI 会自动提供前缀为和的环境变量`SAGEMAKER_`，以确保与 AWS 服务`AWS_`和 SageMaker AI 功能的正确集成。以下是一些 SageMaker 特定于 AI 的环境变量示例：
  + `AWS_ACCOUNT_ID`
  + `AWS_REGION`
  + `AWS_DEFAULT_REGION`
  + `AWS_CONTAINER_CREDENTIALS_RELATIVE_URI`
  + `SAGEMAKER_SPACE_NAME`
  + `SAGEMAKER_APP_TYPE`

## 用户和文件系统规范
<a name="studio-updated-byoi-specs-user-and-filesystem"></a>
+ `WorkingDirectory`：您空间的 Amazon EBS 卷已加载到路径 `/home/sagemaker-user`。无法更改挂载路径。使用 `WORKDIR` 指令将映像的工作目录设置为 `/home/sagemaker-user` 中的文件夹。
+ `UID`：Docker 容器的用户 ID。UID=1000 是一个支持值。您可以为用户添加 sudo 访问权限。对 IDs 它们进行了重新映射，以防止容器中运行的进程拥有超出必要权限的权限。
+ `GID`：Docker 容器的组 ID。GID=100 是一个支持值。您可以为用户添加 sudo 访问权限。对 IDs 它们进行了重新映射，以防止容器中运行的进程拥有超出必要权限的权限。
+ 元数据`/opt/ml`目录-使用的`/opt/.sagemakerinternal`和目录 AWS。`/opt/ml` 中的元数据文件包含有关 `DomainId` 等资源的元数据。

  使用以下命令显示文件系统内容：

  ```
  cat /opt/ml/metadata/resource-metadata.json
  ```
+ 日志记录目录 – 为应用程序及其相关扩展的日志记录目录保留 `/var/log/studio`。建议您在创建映像时不要使用这些文件夹。

## 应用程序的运行状况检查和 URL
<a name="studio-updated-byoi-specs-app-healthcheck"></a>

运行状况检查和 URL 取决于应用程序。选择以下与您正在为其构建映像的应用程序关联的链接。
+ 代码编辑器的 [应用程序的运行状况检查和 URL](code-editor-custom-images.md#code-editor-custom-images-app-healthcheck)
+  JupyterLab 的 [应用程序的运行状况检查和 URL](studio-updated-jl-admin-guide-custom-images.md#studio-updated-jl-admin-guide-custom-images-app-healthcheck)

## Dockerfile 示例
<a name="studio-updated-byoi-specs-dockerfile-templates"></a>

有关既符合本页要求、又满足特定的应用程序需求的 Dockerfile 示例，请导航到各自应用程序部分中的示例 Dockerfile。以下选项包括亚马逊 SageMaker Studio 应用程序。
+ 代码编辑器的 [Dockerfile 示例](code-editor-custom-images.md#code-editor-custom-images-dockerfile-templates)
+ [Dockerfile 示例](studio-updated-jl-admin-guide-custom-images.md#studio-updated-jl-custom-images-dockerfile-templates)对于 JupyterLab

**注意**  
如果您要将自己的镜像带到 SageMaker Unified Studio，则需要遵循*亚马逊 Unifie SageMaker d Studio 用户*[指南中的 Dockerfile 规范](https://docs.aws.amazon.com/sagemaker-unified-studio/latest/userguide/byoi-specifications.html)。  
`Dockerfile` SageMaker Unified Studio 的示例可以在*亚马逊 Unified Studio 用户指南的 Docker SageMaker f* [ile 示例](https://docs.aws.amazon.com/sagemaker-unified-studio/latest/userguide/byoi-specifications.html#byoi-specifications-example)中找到。