在Notebook中通过镜像保存功能制作自定义镜像
通过预置的镜像创建Notebook实例,在基础镜像上安装对应的自定义软件和依赖,在管理页面上进行操作,进而完成将运行的实例环境以容器镜像的方式保存下来。镜像保存后,默认工作目录是根目录“/”路径。
保存的镜像中,安装的依赖包不丢失,持久化存储的部分(home/ma-user/work目录的内容)不会保存在最终产生的容器镜像中。VS Code远程开发场景下,在Server端安装的插件不丢失。
镜像保存功能通过在原始镜像基础上叠加新层(New Layer)实现版本迭代。由于镜像层具有不可变性,无论执行新增或删除操作,生成的新镜像体积将大于原始镜像。
- 当镜像保存失败时,请在Notebook实例详情页查看事件,事件描述请参考查看Notebook实例事件。
- 建议保存的镜像大小不要超过35G,镜像层数不要超过125层,因为节点容器存储Rootfs差异(详细请参考容器引擎空间分配),可能会导致镜像保存失败。
- 如使用的是专属资源池,可尝试在“专属资源池扩缩容”页面按需调整容器引擎空间大小,具体步骤请参考扩缩容专属资源池的“修改容器引擎空间大小”。
- 如果问题仍未解决,请联系技术支持。
- ContainerD镜像保存功能使用说明:
- 不建议在实例内同时执行文件下载任务和镜像保存任务,以避免资源竞争导致性能下降。
- 如果实例系统文件夹(如/opt/等)中存在10G以上的大文件,不建议使用镜像保存功能,以免镜像体积过大或保存时间过长。
前提条件
Notebook实例状态为“运行中”。
保存镜像
- 在Notebook列表中,对于要保存的Notebook实例,单击右侧“操作”列的“保存镜像”。
- 在“保存镜像”页面,配置相关参数,勾选“我已知晓变更带来的风险,同意进行镜像保存”,单击“确定”保存镜像。
保存方式支持“保存至已有”或“新建镜像”。
- 保存至已有:将镜像保存为当前已注册镜像的新版本,即“已注册镜像”页面已有的镜像文件夹内。
- 新建镜像:镜像将保存至容器镜像服务SWR,保存完成后会自动注册至ModelArts。
表1 参数说明 保存方式
参数
说明
保存至已有
镜像
单击镜像选择框,在“选择镜像”面板,按需选择基础仓库或企业仓库中的镜像,单击“确定”。
镜像版本
自定义镜像的版本。支持大小写字母、数字、下划线、中划线和半角句号,最大长度为64个字符。
描述
自定义镜像的描述,不能包含字符&<>"'/,输入长度范围为0到256个字符。
新建镜像
镜像仓库
按需选择SWR基础版或企业版镜像仓库。默认使用SWR基础版仓库。
如果您需要使用企业版镜像仓库,可前往容器镜像服务企业版控制台注册。容器镜像服务企业版的镜像仓库为注册表名称。
关于SWR基础版与企业版的区别,请参见基础版及企业版对比。
域名
仅“镜像仓库”选择SWR企业版,需配置此参数。
容器镜像服务企业版的访问地址。
命名空间
仅“镜像仓库”选择SWR企业版,需配置此参数。
命名空间在容器镜像服务(企业版)中用于隔离镜像仓库。
所属组织
仅“镜像仓库”选择SWR基础版,需配置此参数。
组织在SWR中用于隔离镜像,每个组织可对应一个公司或部门,将其拥有的镜像集中在该组织下。在不同的组织下,可以有同名的镜像。同一IAM用户可属于不同的组织。同一个组织内的用户可以共享使用该组织内的所有镜像。
如果没有组织,可以单击“前往SWR创建”,创建一个组织。创建组织的详细操作请参见组织管理。
镜像名称
自定义保存的镜像名称。名称只能由小写英文字母、数字及特殊字符_ / . -组成,且必须以小写英文字母或数字开头和结尾,不能连续出现2个以上下划线,长度不能超过128个字符。
镜像版本
自定义镜像的版本。支持大小写字母、数字、下划线、中划线和半角句号,最长长度为64个字符。
描述
输入镜像的描述,不能包含字符&<>"'/,输入长度范围为0到256个字符。
图1 保存方式选择新建镜像
- 镜像会以快照的形式保存,保存过程约3~10分钟,保存期间实例状态将处于”快照中”,请耐心等待。此时不可再操作实例。镜像保存成功后,实例状态变为“运行中”。 图2 保存镜像
- 快照中耗费的时间仍占用实例的总运行时长,如果在快照中时,实例因运行时间到期停止,将导致镜像保存失败。
- 保存过程中连接可能会暂时中断,镜像保存操作完毕即可恢复。
- 保存的镜像中不会包含持久化存储挂载目录(/home/ma-user/work)下的文件和数据。
- 查看镜像详情。
- 在左侧导航栏,按需选择以下操作。
- 新版:选择。
- 旧版:选择
- 在“已注册镜像”页签,单击镜像的名称,进入镜像详情页,查看镜像详细信息。
- 在左侧导航栏,按需选择以下操作。
基于自定义镜像创建Notebook实例
从Notebook中保存的镜像可以在“镜像管理”或者“镜像”页面中查询到,可以用于创建新的Notebook实例,完全继承保存状态下的实例软件环境配置。
方式一:在Notebook实例创建页面,镜像类型选择“自定义镜像”,名称选择上述保存的镜像。
方式二:在“镜像管理”或者“镜像”页面的“已注册镜像”页签,单击某个镜像的镜像详情,在镜像详情页,单击“创建Notebook”,也会跳转到基于该自定义镜像创建Notebook的页面。
镜像保存时,哪些目录的数据可以被保存
常见问题
- 镜像保存时报错“there are processes in 'D' status, please check process status using 'ps -aux' and kill all the 'D' status processes”如何解决?
- 镜像保存时报错“container size %dG is greater than threshold %dG”如何解决?
- 保存镜像时报错“too many layers in your image”如何解决?
- 镜像保存时报错“The container size (xG) is greater than the threshold (25G)”如何解决?