更新时间:2026-07-15 GMT+08:00
分享

在Notebook中通过镜像保存功能制作自定义镜像

在数据科学项目开发中,开发人员经常需要在不同的环境中复现相同的运行环境,以确保代码的可移植性和一致性。然而,手动配置环境不仅耗时,而且容易出错。如何解决这一问题,确保环境的一致性和效率?您可以将Notebook实例的运行环境(包括安装的软件、依赖包和配置)保存为一个容器镜像,这个镜像可以用于创建Notebook、模型训练或在线推理。通过使用容器镜像,开发人员可以快速复现环境,减少配置时间,提高开发效率。

镜像保存说明

  • 默认工作目录:镜像保存后,默认工作目录是根目录“/”路径。
  • 保存目录:
    • 可保存的目录:包括容器构建时静态添加到镜像中的文件和目录,可以保存在镜像环境里。

      例如:安装的依赖包、“/home/ma-user”目录

    • 不会被保存的目录:容器启动时动态连接到宿主机的挂载目录或数据卷,这些内容不会被保存在镜像中。可以通过df -h命令查看挂载的动态目录,非“/”路径下的不会保存。
  • 依赖包和持久化存储:保存的镜像中,安装的依赖包不丢失,持久化存储的部分(home/ma-user/work目录的内容)不会保存在最终产生的容器镜像中。VS Code远程开发场景下,在Server端安装的插件不丢失。
  • 镜像大小
    • 镜像保存功能通过在原始镜像基础上叠加新层(New Layer)实现版本迭代。由于镜像层具有不可变性,无论执行新增或删除操作,生成的新镜像体积将大于原始镜像。
    • 建议保存的镜像大小不要超过35G,镜像层数不要超过125层,因为节点容器存储Rootfs差异(详细请参考容器引擎空间分配),可能会导致镜像保存失败。
  • ContainerD镜像保存
    • 不建议在实例内同时执行文件下载任务和镜像保存任务,以避免资源竞争导致性能下降。
    • 如果实例系统文件夹(如/opt/等)中存在10G以上的大文件,不建议使用镜像保存功能,以免镜像体积过大或保存时间过长。

前提条件

已创建Notebook实例,且状态为“运行中”。具体操作,请参见创建Notebook实例

保存镜像

  1. 登录ModelArts管理控制台,在左侧导航栏按需选择以下操作。
    • 新版:选择模型开发与训练 > Notebook,进入“Notebook”页面。
    • 旧版:选择开发空间 > Notebook,进入“Notebook”页面。
  2. 在Notebook列表中,对于要保存的Notebook实例,单击右侧“操作”列的“保存镜像”
  3. “保存镜像”页面,配置相关参数,勾选“我已知晓变更带来的风险,同意进行镜像保存”,单击“确定”保存镜像。

    保存方式支持“保存至已有”“新建镜像”

    • 保存至已有:将镜像保存为当前已注册镜像的新版本,即“已注册镜像”页面已有的镜像文件夹内。
    • 新建镜像:镜像将保存至容器镜像服务SWR,保存完成后会自动注册至ModelArts。
    表1 参数说明

    保存方式

    参数

    说明

    保存至已有

    镜像

    单击镜像选择框,在“选择镜像”面板,按需选择基础仓库或企业仓库中的镜像,单击“确定”

    镜像版本

    自定义镜像的版本。支持大小写字母、数字、下划线、中划线和半角句号,最大长度为64个字符。

    描述

    自定义镜像的描述,不能包含字符&<>"'/,输入长度范围为0到256个字符。

    新建镜像

    镜像仓库

    按需选择SWR基础版或企业版镜像仓库。默认使用SWR基础版仓库。

    如果您需要使用企业版镜像仓库,可在SWR进行注册。容器镜像服务企业版的镜像仓库为注册表名称。具体操作,请参见用户指南(企业版)

    关于SWR基础版与企业版的区别,请参见基础版及企业版对比

    域名

    仅“镜像仓库”选择SWR企业版,需配置此参数。

    容器镜像服务企业版的访问地址。

    命名空间

    仅“镜像仓库”选择SWR企业版,需配置此参数。

    命名空间在容器镜像服务(企业版)中用于隔离镜像仓库。

    所属组织

    仅“镜像仓库”选择SWR基础版,需配置此参数。

    组织在SWR中用于隔离镜像,每个组织可对应一个公司或部门,将其拥有的镜像集中在该组织下。在不同的组织下,可以有同名的镜像。同一IAM用户可属于不同的组织。同一个组织内的用户可以共享使用该组织内的所有镜像。

    如果没有组织,可以单击“前往SWR创建”,创建一个组织。创建组织的详细操作请参见组织管理

    镜像名称

    自定义保存的镜像名称。名称只能由小写英文字母、数字及特殊字符_ / . -组成,且必须以小写英文字母或数字开头和结尾,不能连续出现2个以上下划线,长度不能超过128个字符。

    镜像版本

    自定义镜像的版本。支持大小写字母、数字、下划线、中划线和半角句号,最长长度为64个字符。

    描述

    输入镜像的描述,不能包含字符&<>"'/,输入长度范围为0到256个字符。

    图1 保存方式选择新建镜像
  4. 镜像会以快照的形式保存,保存过程约3~10分钟,保存期间实例状态将处于”快照中”,请耐心等待。此时不可再操作实例。镜像保存成功后,实例状态变为“运行中”
    • 快照中耗费的时间仍占用实例的总运行时长,如果在快照中时,实例因运行时间到期停止,将导致镜像保存失败。
    • 保存过程中连接可能会暂时中断,镜像保存操作完毕即可恢复。
    • 保存的镜像中不会包含持久化存储挂载目录(/home/ma-user/work)下的文件和数据。
  5. 查看镜像详情。
    1. 在左侧导航栏,按需选择以下操作。
      • 新版控制台:选择资产管理 > 镜像
      • 旧版控制台:选择资产管理 > 镜像管理
    2. “已注册镜像”页签,单击镜像的名称,进入镜像详情页,查看镜像详细信息。

使用已保存的镜像

镜像保存后,您可以在模型训练、在线推理和Notebook中使用该镜像。

  • 模型训练
    • 新版控制台:创建训练自定义作业时,在“训练配置”区域,选择“自定义镜像”,单击图标,在“选择镜像”面板的“已注册镜像”页签,按需选择已注册镜像。具体操作,请参见创建训练自定义作业
      图2 训练配置-自定义镜像

    • 旧版控制台:创建训练作业时,在“环境配置”区域,“启动方式”选择“自定义”,输入已注册的镜像。具体操作,请参见创建生产训练作业
  • 在线推理:部署在线服务时,在“单元配置”区域,选择“自定义镜像”,单击图标,在“选择镜像”面板的“已注册镜像”页签,按需选择已注册镜像。具体操作,请参见推理部署
    图3 单元配置-自定义镜像

  • Notebook:创建Notebook时,在“环境配置”区域,选择“自定义镜像”,单击图标,在“选择镜像”面板的“已注册镜像”页签,按需选择已注册镜像。具体操作,请参见创建Notebook实例
    图4 环境配置-自定义镜像

相关文档

相关文档