开发环境管理
介绍开发开发创建、启动、停止时的常见问题。
# Q:如果用户的镜像里面有 JupyterLab,创建开发环境时还选择注入 JupyterLab,平台的 JupyterLab 会覆盖用户的吗?
不会覆盖,会使用镜像中已有的 JupyterLab。
# Q:开发环境停止时,是否需要每次保存?
一般第一次配置好环境后,保存一次即可,后续如您再次配置了环境信息才需要保存,未配置则无需保存。同时,也不建议您每次都保存,保存次数过多可能会导致环境镜像出现故障。
# Q:开发环境开机和停止慢怎么办?
该开发环境启动依赖的镜像过大如超过 100G 则会导致开机和停止较慢,可能是停止开发环境时每次都保存环境镜像,虽然每次存储不超过临时存储大小,但多次叠加可能导致环境镜像大小超过 100G,导致开发环境启动停止非常慢。
# Q:开发环境存储默认最大是10g,为什么超过10g会自动重启?
开发环境是平台通过容器技术虚拟化出来的环境,平台默认限制虚拟出来的容器环境不能超过 10G 的临时数据(临时存储用于存储系统相关的数据,如 pip install xxx、apt install xxx、wget等操作产生的存储占用),临时存储占用超过 10G 则会从挂载镜像或环境镜像重启,并丢失未保存的数据。
开发环境中仅如下几个目录是持久化目录,不占用临时存储,其他目录都将占用临时存储最终导致资源耗尽而重启开发环境。
/gemini/code/:用于存放您的代码,有写权限,可通过网页终端直接写入。/gemini/data-1:用于存放您的数据,无写权限,您只可在平台中通过为项目挂载数据集的方式使用该目录,每个项目最多可挂载 3 个数据集,分别挂载在/gemini/data-1、/gemini/data-2、/gemini/data-3中。/gemini/pretrain:用于存放预训练模型,无写权限,您只可在平台中通过为项目挂载预训练模型的方式使用该目录。
如确实需要在开发环境中安装必须的应用而导致 10G 不够用,可在开发环境停止后,修改实例化规格 调大临时存储。
# Q:启动开发环境后,JupyterLab 注入失败,报错“Could not find a version that satisfies the requirement tornado>=6.1.0 (from jupyterlab)”
当前的 JupyterLab 自动安装工具是判断客户 OS 版本后,安装对应目录下的离线包,ubuntu-18.04 固定依赖 python3.6 的包,ubuntu-20.04 固定依赖 python3.8 的包,OS 版本和 python 版本是固定搭配的。比如您的开发环境如果是 ubuntu-18.04 + python3.8,JupyterLab 自动安装工具会因为找不到依赖的 python3.6 的包而注入失败。
建议您检查开发环境的 OS 版本和 Python 版本,若不对应,您可重新制作镜像,制作镜像前就将 JupyterLab 安装好。