Skip to content

保存为镜像

把运行中的实例(已装好依赖、下好权重)一键保存为自定义镜像,下次直接用它启动,省去重复环境配置。

该功能需平台侧配置镜像仓库(ARK_IMAGE_REGISTRY*)后才可用。未配置时调用返回 503 REGISTRY_NOT_CONFIGURED

保存(commit)

实例须为 runningruntime=docker(VM 不支持):

bash
curl -X POST "$ARK_API/rentals/$RENTAL_ID/commit" \
  -H "Authorization: Bearer $ARK_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{ "name": "my-finetuned-env", "description": "PyTorch + 已装依赖 + 权重" }'

这是异步操作:在实例所在节点执行 docker commit 并推送到镜像仓库。返回的镜像记录初始 status: committing,完成后变 ready(填入 size_mbready_at),失败则 failed(带 error_msg)。

镜像引用形如 <registry>/<repo>:userimg-<镜像ID前8位>

管理镜像

bash
# 列出镜像
curl -s "$ARK_API/images" -H "Authorization: Bearer $ARK_TOKEN" | jq '.images[] | {id, name, status, size_mb}'

# 删除镜像记录
curl -X DELETE "$ARK_API/images/$IMAGE_ID" -H "Authorization: Bearer $ARK_TOKEN"

删除只移除元数据记录;仓库中的镜像层暂不自动回收(后续支持 GC)。

用镜像启动新实例

把镜像的 ref 作为 template_image 传给 创建实例即可:

bash
curl -X POST "$ARK_API/rentals" \
  -H "Authorization: Bearer $ARK_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "node_id": "NODE_ID",
    "launch_mode": "interactive",
    "app": "jupyter",
    "template_image": "crpi-xxx/arkcore/userimages:userimg-ab12cd34",
    "gpu_count": 1
  }'

镜像 vs 存储卷

自定义镜像存储卷
保存什么整个环境(系统 + 依赖 + 当时的文件)一块可读写磁盘上的数据
复用方式作为新实例的基础镜像挂载到实例
适合固化"装好的环境"频繁变动的数据集 / 输出

两者可配合:用镜像固化环境,用卷存放数据集与训练产物。

基于 MIT License 发布