新版SageMaker Studio Jupyter Lab自定义镜像使用及文档疑问
新版Amazon SageMaker Studio Jupyter Lab环境自定义镜像配置指南
一、是否支持自定义镜像?
是,新版SageMaker Studio的Jupyter Lab环境完全支持使用自定义镜像创建运行环境,你可以基于官方镜像扩展或从头构建符合业务需求的镜像。
二、创建并挂载自定义镜像的步骤
1. 构建符合要求的自定义镜像
- 基础镜像选择:可选用SageMaker官方基础镜像(如
amazon/sagemaker-scikit-learn:latest)作为起点,也可从Ubuntu/CentOS等通用镜像开始构建。 - 核心配置要求:
- 必须安装Jupyter Lab相关依赖,确保兼容SageMaker Studio的Jupyter Lab环境
- 配置正确的用户权限(通常以
root用户构建,最后切换到sagemaker-user) - 镜像需包含
start.sh启动脚本,用于初始化Jupyter Lab服务
- 示例Dockerfile框架:
# 选用官方基础镜像 FROM amazon/sagemaker-scikit-learn:latest # 安装自定义依赖(示例:额外Python库) RUN pip install pandas==2.1.0 plotly==5.17.0 # 复制启动脚本到镜像 COPY start.sh /usr/local/bin/start.sh RUN chmod +x /usr/local/bin/start.sh # 设置启动命令 CMD ["start.sh"]
2. 推送镜像到Amazon ECR
- 创建ECR仓库:在AWS控制台ECR服务中创建私有仓库,记录仓库URI
- 登录ECR(替换区域和账号ID):
aws ecr get-login-password --region us-east-1 | docker login --username AWS --password-stdin <你的AWS账号ID>.dkr.ecr.us-east-1.amazonaws.com
- 标记并推送镜像:
docker tag <本地镜像名>:latest <ECR仓库URI>:latest docker push <ECR仓库URI>:latest
3. 在SageMaker Studio中挂载自定义镜像
- 登录SageMaker Studio控制台,进入Domain设置
- 选择Images选项卡,点击Create image
- 填写镜像信息:输入名称、描述,选择推送的ECR镜像URI,按需配置启动参数
- 关联到Jupyter Lab:在Apps选项卡创建新Jupyter Lab应用时,选择自定义镜像即可启动对应环境
三、关于文档末尾非标准Dockerfile语句的说明
文档末尾的内容并非完整Dockerfile代码,而是镜像启动脚本的核心配置片段,用于告知SageMaker Studio如何在自定义镜像中启动Jupyter Lab服务。示例片段通常类似:
#!/bin/bash set -e # 初始化Jupyter Lab服务 jupyter lab --ip=0.0.0.0 --port=8888 --no-browser --allow-root --NotebookApp.token='' --NotebookApp.password=''
这段脚本需要打包进镜像指定路径(如/usr/local/bin/start.sh)并赋予执行权限,是SageMaker识别自定义镜像的关键环节,并非Dockerfile的一部分,所以会让你觉得不符合标准Dockerfile格式。
内容的提问来源于stack exchange,提问作者terrygryffindor
相关产品推荐
相关产品推荐

