本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
自定义映像规范
您在 Dockerfile 中指定的映像必须符合以下各节中的规范,才能成功创建映像。
运行映像
通过更新您的,可以进行以下配置ContainerConfig
。有关示例,请参阅更新容器配置。
-
Entrypoint
— 您可以配置ContainerEntrypoint
并在ContainerArguments
运行时将其传递到容器。我们建议使用配置您的入口点ContainerConfig
。有关示例,请参阅上面的链接。 -
EnvVariables
— 使用 Studio 时,您可以为容器定义自定义ContainerEnvironment
变量。您可以选择使用更新您的环境变量ContainerConfig
。有关示例,请参阅上面的链接。SageMaker 特定于 AI 的环境变量优先,并将覆盖所有同名的变量。例如, SageMaker AI 会自动提供前缀为和的环境变量
SAGEMAKER_
,以确保与 Amazon 服务Amazon_
和 SageMaker AI 功能的正确集成。以下是一些 SageMaker 特定于 AI 的环境变量示例:-
Amazon_ACCOUNT_ID
-
Amazon_REGION
-
Amazon_DEFAULT_REGION
-
Amazon_CONTAINER_CREDENTIALS_RELATIVE_URI
-
SAGEMAKER_SPACE_NAME
-
SAGEMAKER_APP_TYPE
-
用户和文件系统规范
-
WorkingDirectory
:您空间的 Amazon EBS 卷已加载到路径/home/sagemaker-user
。无法更改挂载路径。使用WORKDIR
指令将映像的工作目录设置为/home/sagemaker-user
中的文件夹。 -
UID
— 的用户 ID Docker 容器。UID=1000 是一个支持值。您可以为用户添加 sudo 访问权限。对 IDs 它们进行了重新映射,以防止容器中运行的进程拥有超出必要权限的权限。 -
GID
— 的群组 ID Docker 容器。GID=100 是一个支持值。您可以为用户添加 sudo 访问权限。对 IDs 它们进行了重新映射,以防止容器中运行的进程拥有超出必要权限的权限。 -
元数据
/opt/ml
目录-使用的/opt/.sagemakerinternal
和目录 Amazon。/opt/ml
中的元数据文件包含有关DomainId
等资源的元数据。使用以下命令显示文件系统内容:
cat /opt/ml/metadata/resource-metadata.json
-
日志目录 —
/var/log/studio
保留给应用程序的日志目录以及与之相关的扩展。我们建议您不要使用这些文件夹来创建图像。
应用程序的运行状况检查和 URL
运行状况检查和 URL 取决于应用程序。选择以下与您正在为其构建映像的应用程序关联的链接。
-
应用程序的运行状况检查和 URL用于代码编辑器
-
适用于 JupyterLab 的 应用程序的运行状况检查和 URL
Dockerfile 示例
对于既满足本页要求又满足您的特定应用程序需求的 Dockerfile 示例,请导航至相应应用程序部分中的示例 Dockerfile。以下选项包括亚马逊 SageMaker Studio 应用程序。
-
Dockerfile 示例用于代码编辑器
-
Dockerfile 示例对于 JupyterLab
注意
如果您要将自己的镜像带到 SageMaker Unified Studio,则需要遵循亚马逊 Unifie SageMaker d Studio 用户指南中的 Dockerfile 规范。
Dockerfile
SageMaker Unified Studio 的示例可以在亚马逊 Unified Studio 用户指南的 Docker SageMaker f ile 示例中找到。