更新时间:2024-11-21 GMT+08:00

镜像保存

通过预置的镜像创建Notebook实例,在预置镜像上安装对应的自定义软件和依赖,在管理页面上进行操作,进而完成将运行的实例环境以容器镜像的方式保存下来。

保存的镜像中,安装的依赖包不丢失,持久化存储的部分(home/ma-user/work目录的内容)不会保存在最终产生的容器镜像中。VS Code远程开发场景下,在Server端安装的插件不丢失。

Notebook中保存的镜像层数不能超过125层。否则镜像会创建失败。

如果镜像保存时报错“The container size (xx) is greater than the threshold (25G)”,请参考镜像保存时报错“The container size (xG) is greater than the threshold (25G)”如何解决?处理。

前提条件

Notebook实例状态为“运行中”

常见问题

在Notebook里保存镜像时报错“there are processes in 'D' status, please check process status using 'ps -aux' and kill all the 'D' status processes”如何解决?

执行镜像保存时,Notebook中存在状态为D的进程,会导致镜像保存失败。解决方法请参考:镜像保存时报错“there are processes in 'D' status, please check process status using 'ps -aux' and kill all the 'D' status processes”如何解决?

在Notebook里保存镜像时报错“container size %dG is greater than threshold %dG”如何解决?

原因是Notebook容器当前的大小超过了阈值,需要减少容器大小。解决方法请参考:镜像保存时报错“container size %dG is greater than threshold %dG”如何解决?

在Notebook里保存镜像时报错“too many layers in your image”如何解决?

原因分析:用户创建Notebook时所选用的镜像是经过多次保存的自定义镜像或用户自行注册的镜像,基于该镜像所创建的Notebook已经无法再执行镜像保存的操作了。

解决方法:使用公共镜像或其他的自定义镜像来创建Notebook,完成镜像保存操作。

在Notebook里保存镜像时报错“The container size (xG) is greater than the threshold (25G)”如何解决?

镜像保存本质是通过在资源集群节点上的agent中进行了docker commit,再配合一系列自动化操作来上传和更新管理数据等。每次Commit都会带来额外的一些开销,层数越多镜像越大,如果多次保存后就会有存储显示没那么大,但是镜像已经很大了。镜像超大会导致加载的各种问题,所以此处做了限制。

解决方法:找到原始镜像重新构建环境。建议使用干净的基础镜像,最小化的安装运行依赖内容,并进行安装后的软件缓存清理,然后保存镜像。