主题
使用 WebTerminal
WebTerminal 会在目标 Worker Pod 的 main 容器中打开 /bin/sh。请用它检查正在运行的容器;长期使用的配置和依赖应写入镜像、准备脚本或运行脚本。
打开终端
- 在任务列表中选择目标任务,然后打开 Worker 标签。
- 找到目标 Worker,确认其行中已经显示对应 Pod 信息。
- 选择行末的 WebTerminal 图标。
- 等待终端依次显示连接和启动 shell 的信息,然后执行诊断命令。
与 Worker 对应的 Pod 信息同步到控制台后,WebTerminal 按钮才会启用。按钮启用不保证 Pod 正在运行;Pod 已退出、Agent 不可达或主容器没有 /bin/sh 时,连接仍可能失败。
安全检查容器
WebTerminal 直接进入训练使用的 main 容器。打开后先记录 Job、角色、Worker 和 Pod 名称,并优先执行不会改变文件、权限或进程状态的检查。
把示例中的占位路径替换为实际路径。以下命令可用于查看基本信息;具体命令是否存在取决于镜像:
sh
pwd
id
ls -ld /path/to/mount
ls -la /path/to/mount
df -h /path/to/mount
cat /proc/mounts
test -r /path/to/file && echo readable
test -w /path/to/mount && echo writabletest -w 只检查当前用户对路径的权限,不能确认对象存储、配额或后续写入一定成功。cat /proc/mounts 输出较长时,只查找目标路径;发送终端输出前请先删除无关信息和敏感内容。
默认不要执行以下操作:
rm、mv、chmod、chown、touch、重定向或tee;- 安装软件、修改配置、终止进程、重启服务或卸载卷;
env、printenv、set,或其他可能显示凭据的命令;- 为“验证写权限”而向检查点、结果或共享数据目录写测试文件。
如果必须修改容器,请先确认修改目标、影响、恢复方式和验收条件,并取得相应权限。配置修复应写入镜像、准备脚本或复制的 Job;终端中的临时修改可能随 Pod 重建而丢失。
检查挂载和输出路径
- 目录为空时,先确认路径是否真的是 Job 配置中的容器挂载路径。
- 镜像原有文件在挂载后不可见时,检查挂载点是否遮蔽了镜像中的同名目录。
- 输出重建后丢失时,确认应用写入的是挂载路径内部,而不是默认工作目录或相邻目录。
- 需要查看应用行为时,优先使用日志;终端用于补充检查文件系统和进程。
完整路径判断见存储排障。
上传文件
上传界面不能选择目标路径。文件会以 ./<本地文件名> 写入 main 容器的默认工作目录,不会跟随交互 shell 中执行的 cd。
先使用安全的文件名
上传文件会由容器中的 shell 写入,相对路径中的单引号无法安全处理。上传前,请把本地文件名改为只包含英文字母、数字、点、下划线和连字符,例如 config-v2.yaml,即符合 [A-Za-z0-9._-]+。文件名含空格、引号、斜杠、控制字符或其他 shell 特殊字符时,请改用其他传输方式。
上传会写入容器
上传会直接写入容器。默认工作目录中存在同名文件时,文件可能被覆盖,界面不会再次确认。请在上传前确认目标文件可以覆盖。
传输期间不要操作终端
文件传输和交互式 shell 共用同一 WebSocket。上传开始后,不要键入、粘贴或运行命令;等待界面明确显示传输完成后再继续,否则终端输入或输出可能混入文件内容。WebTerminal 传输只适合低风险的临时文件;完成后应在两端核对字节数,并在工具可用时核对哈希。完整性敏感的训练输入、检查点和结果应使用组织批准的对象存储或其他文件传输路径。
- 在 WebTerminal 顶部选择上传图标。
- 选择一个本地文件。
- 等待传输状态消失,并确认终端显示传输完成。
- 在容器中核对字节数,并在可用时核对哈希。
下载文件
传输期间不要操作终端
下载和交互式 shell 共用同一 WebSocket。下载开始后不要键入、粘贴或运行命令;终端输出也可能干扰传输。完整性敏感的文件应改用组织批准的传输路径;继续使用 WebTerminal 时,下载后必须核对字节数,并在工具可用时核对哈希。
- 选择下载图标。
- 输入
main容器中的文件路径。 - 选择 Download 或按 Enter。
- 等待浏览器保存以源文件名命名的下载文件,然后核对字节数和可用的哈希。
长期保存修改
- WebTerminal 弹窗没有独立 URL,关闭弹窗或离开页面会关闭连接。
- 命令直接作用于运行中的容器,可能影响训练进程。
- 容器文件系统中的临时修改可能在 Pod 重建、任务停止或删除后丢失。
- 需要长期保留的修复应写入镜像、脚本或持久挂载,再通过编辑或复制 Job 验证。
- 上传或下载敏感文件前,先确认你对目标 Pod 和数据具有授权。
如果按钮一直禁用,请先在Worker 与 Pod页面确认 Pod 信息已经同步。