中文
容器管理
项目持久化容器、资源配置、镜像选择与项目镜像构建的用户操作说明
容器管理
本页汇总当前用户可见的容器管理能力,包含项目级持久化容器、镜像与资源配置、固定挂载展示,以及开发模式下的项目镜像构建。
你现在可以做什么
- 为项目启用或禁用持久化容器环境
- 查看容器当前状态、镜像名、容器名和系统固定挂载
- 启动、停止或在报错后重试项目容器
- 在启用前选择本机已有镜像,或直接填写镜像名称拉取
- 为项目保存 CPU、内存、GPU 数量、GPU 驱动和显存配置
- 在 Slurm 部署中选择是否用已绑定的 Linux 用户身份运行项目环境
- 在开发模式项目中生成 Dockerfile 草稿、发起镜像构建、查看日志,并把成功构建设为项目镜像
持久化容器环境
入口:项目工作台顶部 Settings -> Persistent data environment
开启后:
- 同一项目下的会话共享同一个容器环境
- Agent 的
Read、Bash、Edit、Write会优先在容器内执行 - 在容器里安装的 Python、pip、npm 等依赖可跨会话复用
- 项目工作目录会持续保留,容器内工作流更稳定
状态说明
Running:容器正在运行,新的会话和工具调用会直接复用当前环境Stopped:容器当前已停用;再次发起需要容器的操作时,系统通常会自动拉起Stopping:系统正在停止容器;此时请等待状态刷新,避免重复点击Waiting for resources:容器因资源配额不足暂时无法启动,等待其他项目释放资源后自动唤醒;状态指示器会显示琥珀色提示和具体瓶颈信息Error:容器启动或运行失败;owner 可重试或重新启用Disabled/Not Enabled:项目还未启用持久化容器
当前可管理信息
在设置卡片里可以直接查看:
- 当前使用的项目容器镜像
- 当前容器名称
- 管理员配置的系统固定挂载列表
- 容器是否配额超限
- 最近一次错误信息(如有)
镜像与资源配置
owner 在项目设置中可配置以下内容:
使用本地镜像:从当前机器已存在的镜像列表中直接选择或通过名称拉取镜像:手动填写镜像名,例如python:3.12-slimCPU count:项目容器 CPU 核数Memory (MB):项目容器内存上限GPU count:项目容器启用的 GPU 数量GPU driver:GPU 驱动类型,默认一般为nvidiaGPU memory (GB):GPU 显存信息
使用建议:
- CPU / 内存留空或填写
0时,表示使用系统默认限制 - GPU 数量留空或填写
0时,表示该项目容器不启用 GPU - 这些配置会按项目保存,供后续启用或重建容器时使用
- 如果容器已经在运行,修改配置后通常需要停止并重新启用,或等待系统按新配置重建,才能完整应用新的镜像与资源参数
绑定 Linux 用户运行
在启用了 Linux 用户绑定的 Slurm 部署中,项目 owner 可在 Persistent data environment 设置中打开 使用绑定 Linux 用户运行。开启后,支持 Slurm 的项目任务会尽量以当前成员绑定的 Linux 身份执行,并使用该 Linux 用户可访问的家目录与项目工作区权限。
使用前提:
- 管理员已在部署中启用 Linux 用户绑定
- 当前用户已在
/workspace/profile绑定 Linux 用户 - 项目使用 Slurm 执行平台
操作方式:
- 进入项目工作台
- 打开顶部
Settings - 在
Persistent data environment中勾选使用绑定 Linux 用户运行 - 点击
保存运行方式
说明:
- 只有项目 owner 可以修改该运行方式
- 未绑定 Linux 用户时无法开启
- 关闭后,项目恢复使用部署默认的 Slurm 运行身份
- 如果容器或工作区已经准备完成,切换该选项后可能需要重新启动或重新启用项目环境
启用、停用与删除的区别
Enable- 为项目创建并启用持久化容器
- 启用时会使用当前保存的镜像与资源配置
Start- 启动一个已启用但当前停止的容器
- 适合临时停机后继续使用原环境
Stop- 只停止当前容器,不删除项目工作区文件
- 下次可手动启动,也可能在需要时自动唤醒
- Docker 与 Kubernetes 后端都会尽量释放资源租约,并更新项目状态
Disable- 删除该项目的持久化容器
- 容器内已安装依赖和系统环境会丢失
- 项目本地工作区文件仍会保留
- 如果禁用过程中运行时删除失败,系统会回滚启用状态并保留错误提示
状态一致性与自动修复
容器状态现在会由后台控制器定期校准,避免“页面显示运行中,但真实容器已丢失”或“容器已停止但资源仍被占用”的情况长期存在。
系统会自动处理:
- Docker 或 Kubernetes 实际状态与项目记录不一致
- 宿主机或集群重启后容器状态丢失
- 容器停止、禁用或资源释放后的租约清理
- Kubernetes Job / Pod 已结束但项目仍显示运行中
用户侧建议:
- 如果状态短暂显示
Stopping、Waiting for resources或Error,先刷新状态或等待下一次自动同步 - 如果长时间停留在异常状态,由 manager/owner 点击
Retry、Start或Disable重新整理环境 - 管理员可在资源配额的运行中容器列表中手动停止异常项目容器
权限边界
owner- 可以
Enable、Disable - 可以修改镜像和资源设置
- 可以在错误状态下执行
Retry
- 可以
manager- 当容器已启用后,可以
Start、Stop - 可以查看容器状态与当前配置
- 当容器已启用后,可以
editor/viewer- 可以查看容器状态
- 不能启用、禁用,也不能修改项目容器配置
项目镜像构建
入口:项目工作台中的 容器构建
这部分能力用于为项目准备更贴合业务的自定义镜像,例如预装 Python 包、系统依赖、CUDA 环境或常用工具链。
使用前提
- 项目必须处于
dev模式 - 管理员已启用系统级容器构建功能
- 至少具备项目工作区写权限(通常为
editor及以上)
你可以做什么
- 用自然语言需求生成 Dockerfile 草稿
- 手动调整
Dockerfile与.dockerignore - 校验草稿
- 发起新构建
- 查看构建状态与日志
- 取消仍在进行中的构建
- 删除不再需要的构建记录
- 修改排队中或已成功构建的镜像名称
设为项目镜像
当构建成功后:
manager及以上角色可以点击设为项目镜像- 这会把该构建产出的镜像保存为项目容器镜像配置
- 后续启用、重建或重新创建项目持久化容器时,会优先使用这个项目镜像
典型场景
场景 1:让多个会话复用同一套 Python 环境
- 由 owner 在项目设置中启用
Persistent data environment - 在一个会话里安装依赖,例如
pandas、scanpy - 在同一项目的其他会话里直接继续使用这些依赖
场景 2:给 GPU 项目准备固定运行环境
- owner 在项目设置里保存 GPU 数量、驱动和显存信息
- 如需特定基础镜像,可选择本地镜像或填写远端镜像名
- 启用或重建容器后,Agent 会优先在该环境中运行容器相关操作
场景 3:为开发模式项目制作专用镜像
- 切换项目到
dev模式 - 打开
容器构建 - 输入需求描述生成 Dockerfile 草稿
- 校验并发起构建
- 构建成功后设为项目镜像
- 重新启用或重建项目容器,使新镜像生效