NVIDIA GPU Docker 运行规范
为 NVIDIA GPU 容器工作负载提供可复用的 Docker 运行、认证、挂载与故障排查规范。
文档说明了使用环境变量传递凭据、避免将秘密放在命令行中,并要求用户批准主机安装;但允许工具包含 Bash,且给出了 docker system prune、sudo 移动/删除 Docker 数据目录、停止并删除容器等高影响操作,未普遍要求确认、备份或回滚。凭据会持久化到 ~/.docker/config.json,数据流和敏感信息清理说明仍不完整,因此扣分。
内容覆盖常见路径和错误诊断,但静态检查发现 canonical docker run 示例中反斜杠后带有空格再接注释,可能导致 shell 续行失效;ubuntu 镜像示例也未证明包含 nvidia-smi。依赖 tao-setup-nvidia-gpu-host 的路径和版本要求较脆弱,且无覆盖本技能关键路径的提交测试,因此按静态上限保守扣分。
触发词、目标用户和 Docker GPU 场景边界较清楚,也明确区分平台层、模型层和数据层职责;但固定要求驱动 580、CUDA 13.0 和 Toolkit 1.19.0,可能排除大量环境,未说明非兼容版本策略或中文使用支持。NGC、Hugging Face、S3 和 W&B 等外部服务可能受中国大陆网络可达性影响,因此扣分。
文档有前置条件、认证、运行、挂载、检查、网络、磁盘和错误模式等分层内容,并提供 Apache-2.0、版本和 skill card;但缺少明确的 Instructions/Examples 章节、变更日志、维护责任与更新路径,benchmark 还报告了 tags 放置、层级和作者格式问题,故未给满分。
该技能能为 NVIDIA GPU Docker 工作负载提供可直接改写的命令模板、挂载和故障排查建议,核心价值明确;但它不选择镜像或业务命令,示例存在可执行性疑点,危险操作需要人工复核,且静态审查无法验证实际结果,因此按上限保守给分。
文档引用 Docker 和 NVIDIA 官方资料,并附有一次外部评估报告及评测任务;但评测仅有一个计划描述任务、没有负向触发覆盖,也没有针对本技能关键路径的提交测试或多源复现证据。静态审查不能视为独立执行验证,因此扣分。
- 执行前应修正并验证带注释的反斜杠续行示例,并确认测试镜像实际包含 nvidia-smi。
- docker system prune -a --volumes、sudo 数据目录迁移/删除以及 stop/rm 操作应增加明确用户确认、备份和可逆恢复步骤。
- NGC/Hugging Face 等外部服务和固定版本依赖可能造成中国大陆网络或环境兼容性问题。
这个 Skill 能做什么,适合哪些场景?
该技能面向需要在 NVIDIA GPU 主机上运行 Docker 容器的 AI 代理。它覆盖 NGC 登录、GPU 分配、共享内存、数据与结果挂载、环境变量传递、容器检查和镜像存储迁移。它还总结了 GPU 驱动、认证、磁盘空间、权限和容器启动失败等常见问题。技能只负责“如何运行”容器,具体镜像和命令由其他模型或数据技能指定。
读取并检查 Docker 版本、GPU 主机运行时和 NGC_KEY;调用 docker login、docker pull、docker run、docker exec、docker inspect、docker logs、docker stats 等命令;使用 --gpus、--shm-size、卷挂载、环境变量和网络配置启动或管理容器;指导将 Docker data-root 从根卷迁移到较大磁盘;根据 GPU 驱动、认证、磁盘、共享内存、权限或容器退出错误给出排查路径。
- AI 工程师需要从 nvcr.io 拉取 NVIDIA 容器并在 GPU 主机上运行训练或推理任务时。
- 多 GPU 训练因默认 /dev/shm 太小而出现 Bus error 时。
- 工作主机根磁盘较小、大型 NVIDIA 镜像可能占满空间,且需要迁移 Docker 数据目录时。
- 代理需要在同一容器中执行下载、运行和后处理多个步骤时。
- 运维人员需要检查容器挂载、环境变量、命令、网络状态或退出码时。
这个 Skill 有哪些优点和局限?
- 覆盖从 NGC 认证到容器清理、检查和故障排查的完整 Docker 运行流程。
- 给出可复制的命令模式,包含 GPU、挂载、共享内存和环境变量处理。
- 明确区分宿主机路径与容器内路径,并提供分盘主机的 data-root 迁移方案。
- 范围边界清晰,可作为其他模型和数据技能的 Docker 执行层。
- 要求特定的 NVIDIA 驱动、CUDA Toolkit、Docker 和 NVIDIA Container Toolkit 版本。
- 依赖 NGC API key 及网络连接才能拉取 nvcr.io 镜像。
- 部分示例包含 sudo、rsync 和删除旧 Docker 数据目录等高权限或破坏性操作。
- SKILL.md 未提供测试套件或平台覆盖证据。
如何安装这个 Skill?
使用仓库 README 中的 skills CLI 安装指定技能:
npx skills add nvidia/skills --skill tao-run-on-docker --yes
README 未说明该技能的手动复制目标路径;安装后,代理在加载技能并遇到相关任务时使用它。
如何使用这个 Skill?
在已安装该技能的代理中提出包含相关运行场景的请求,例如:“在 NVIDIA GPU 主机上运行一个 nvcr.io 容器,使用 GPU 0 和 1、挂载数据目录,并排查共享内存问题。”技能会在涉及 docker、docker run、nvcr.io、NGC、--gpus 或 nvidia-container-toolkit 时提供运行规范。具体镜像和业务命令需要由调用技能提供。
这个 Skill 与同类方案有什么区别?
与 tao-run-on-brev、tao-run-platform 等相邻技能相比,本技能聚焦通用 GPU 主机上的 Docker 运行方式;tao-run-on-brev 处理通过 brev exec 访问主机,tao-run-platform 则提供 Job、状态持久化和 S3 I/O 等额外封装。