特殊接口 - 镜像与开发环境

查镜像在线构建、Jupyter/在线 IDE 的创建/重置/续期/停止/提交镜像、Docker 容器 debug 与保存镜像等接口时

06-二次开发 / API参考
镜像构建image buildnotebookjupyterIDEtheiarstudiomatlabdocker debugdocker commit在线IDEresetrenewstopsave

镜像与开发环境特殊接口

涵盖镜像管理(/images_modelview/api)、在线 IDE / Notebook(/notebook_modelview/api)、Docker 在线构建调试(/docker_modelview/api)。

镜像管理 /images_modelview

代码文件:myapp/views/view_images.pyroute_base = '/images_modelview/api'

镜像在线构建

GET  /images_modelview/api/build/<image_id>
参数 位置 类型 说明
image_id path int 镜像记录 ID

响应: 302 重定向到构建日志页面 /frontend/k8s/web/log/{cluster}/{namespace}/{pod_name}

说明:

  • 仅镜像创建者可执行
  • 从镜像记录中提取 Dockerfile,创建 K8s Pod 执行 docker build && docker push
  • 如果已有构建 Pod 在运行,会先删除再重建
  • 构建完成后可在日志页面查看进度

在线IDE /notebook_modelview

代码文件:myapp/views/view_notebook.pyroute_base = '/notebook_modelview/api'

创建/打开 Jupyter

GET     /notebook_modelview/api/entry/jupyter    # 创建或打开
DELETE  /notebook_modelview/api/entry/jupyter    # 删除

GET 请求参数(Query):

参数 类型 必填 说明
name string Notebook 名称,默认 {user}-pipeline
project_name string 项目名称,默认 public
label string 显示标签
resource_memory string 内存限制,默认 10G
resource_cpu string CPU 限制,默认 10
volume_mount string 挂载目录
file_path string 打开的文件路径
images string 使用的镜像

GET 响应: 302 重定向到 /notebook/jupyter/{name}/lab

DELETE 响应: 302 重定向到 Notebook 列表

说明:

  • 自动创建 K8s Pod、Service、VirtualService
  • 等待最多 20 秒确认 Pod 进入 Running 状态
  • 支持 Jupyter / Theia / Matlab / RStudio 等 IDE 类型(根据镜像名自动识别)

重置在线IDE

GET/POST  /notebook_modelview/api/reset/<notebook_id>
参数 位置 类型 说明
notebook_id path int Notebook 记录 ID

响应: 302 重定向到 Notebook 列表

说明: 删除旧的 K8s 资源后重新创建 Pod、Service、VirtualService。会检查资源配额。

续期在线IDE

GET/POST  /notebook_modelview/api/renew/<notebook_id>
参数 位置 类型 说明
notebook_id path int Notebook 记录 ID

响应: 302 重定向到 Notebook 列表

说明: 刷新 changed_on 时间戳,避免超时被清理。

停止在线IDE

GET/POST  /notebook_modelview/api/stop/<notebook_id>
参数 位置 类型 说明
notebook_id path int Notebook 记录 ID

响应: 302 重定向到 Notebook 列表

说明: 删除 K8s Pod、Service、VirtualService,标记状态为 offline。

保存在线IDE(提交为镜像)

GET/POST  /notebook_modelview/api/save/<notebook_id>
参数 位置 类型 说明
notebook_id path int Notebook 记录 ID

响应: 302 重定向到提交日志页面 /frontend/k8s/web/log/{cluster}/{namespace}/{pod_name}

说明:

  • 对运行中的容器执行 docker commit && docker push,保存为新镜像
  • 异步任务监控提交状态,完成后更新 last_image 字段
  • 如果 Pod 未运行则报错

Docker构建 /docker_modelview

代码文件:myapp/views/view_docker.pyroute_base = '/docker_modelview/api'

容器 debug

GET/POST  /docker_modelview/api/debug/<docker_id>
参数 位置 类型 说明
docker_id path int Docker 记录 ID

响应: 302 重定向到 Pod 命令行界面

说明: 创建一个 debug Pod(sleep 2h),等待最多 40 秒进入 Running 状态后跳转到终端界面。

清理调试镜像 Pod

GET/POST  /docker_modelview/api/delete_pod/<docker_id>
参数 位置 类型 说明
docker_id path int Docker 记录 ID

响应: 302 重定向到 Docker 列表

保存调试镜像

GET/POST  /docker_modelview/api/save/<docker_id>
参数 位置 类型 说明
docker_id path int Docker 记录 ID

响应: 302 重定向到提交日志页面

说明: 对运行中的 debug 容器执行 docker commit && docker push,保存并推送镜像。

创建在线调试镜像(入口)

GET/DELETE  /docker_modelview/api/entry/docker

响应: 302 重定向到 Docker 创建界面

最后更新 2026-06-30完整文档以官方仓库为准:GitHub Wiki