NVIDIA 官方容器镜像
NVIDIA 官方在 Docker Hub 发布的容器镜像集合,涵盖 CUDA 运行时与开发环境、Kubernetes GPU 设备插件、数据中心 GPU 监控(DCGM)等,适合在宿主机已安装 NVIDIA 驱动的环境下构建与运行 GPU 加速应用。 https://www.nvidia.com
特色镜像推荐
NVIDIA CUDA
NVIDIA 官方 CUDA 基础镜像,提供 CUDA 工具链、运行时与开发环境,支持 base/runtime/devel 等标签变体,用于构建与运行 GPU 加速计算应用。宿主机需已安装 NVIDIA 驱动并配置 NVIDIA Container Toolkit。
NVIDIA CUDA OpenGL
在 CUDA 镜像基础上增加 OpenGL(libglvnd)支持,适用于同时需要 GPU 计算与图形渲染的应用,如可视化、仿真、桌面图形工作负载。
NVIDIA K8s Device Plugin
Kubernetes 官方 GPU 设备插件,使集群可发现并分配 GPU 给 Pod。部署后可在 Pod 中声明 resources.limits.nvidia.com/gpu 使用 GPU。需配合宿主机驱动与 NVIDIA Container Toolkit。
NVIDIA DCGM
Data Center GPU Manager,提供 GPU 健康监控、性能指标、诊断与功耗/时钟策略。常用于集群内 GPU 可观测性,端口 5555 暴露 nv-hostengine 服务。
NVIDIA DCGM Exporter
将 DCGM 指标以 Prometheus 格式导出,便于与 Prometheus、Grafana 等监控栈集成,用于 GPU 使用率、显存、温度等指标采集与告警。
NVIDIA 官方容器镜像集合
推荐技术栈
CUDA 与运行时
Kubernetes GPU
监控与诊断
宿主机依赖
典型使用场景
GPU 训练与推理
基于 nvidia/cuda 或 nvidia/cudagl 构建并运行 AI 训练、推理或科学计算容器,宿主机提供驱动与 Container Toolkit。
Kubernetes 中暴露 GPU
在 K8s 集群中部署 nvidia/k8s-device-plugin,使 Pod 可声明 GPU 资源;需要监控时部署 nvidia/dcgm 与 nvidia/dcgm-exporter。
GPU 可观测与运维
使用 DCGM 与 DCGM Exporter 采集 GPU 指标,接入现有监控与告警体系。
相关文章推荐
VLLM Docker 容器化部署指南:在 NVIDIA Jetson 平台高效运行大语言模型推理服务
VLLM是一个高效的开源大语言模型(LLM)推理服务框架,通过创新的PagedAttention技术实现高吞吐量和低延迟的推理性能。本文介绍的`dustynv/vllm`镜像是针对NVIDIA Jetson平台优化的容器化版本,由[dustynv/jetson-containers](https://github.com/dustynv/jetson-containers)项目构建,专为边缘计算场景设计,支持在资源受限的嵌入式设备上部署高性能LLM推理服务。
NVIDIA CUDA 镜像 Docker 容器化部署全流程
CPU 像“全能但慢的多面手”,适合处理逻辑复杂但数据量小的任务;GPU 像“成千上万的小工人”,擅长同时处理大量重复、简单的计算。CUDA 就是连接开发者与 GPU 能力的“桥梁”,让 GPU 能脱离显卡驱动,直接为科学计算、AI 训练、数据处理等任务服务。
常见问题 (FAQ)
Q1:nvidia/cuda 和 nvidia/cudagl 有什么区别?
nvidia/cuda 提供纯 CUDA 计算环境(工具链与运行时),适合只做 GPU 计算的场景(如训练、推理、科学计算)。nvidia/cudagl 在 CUDA 基础上增加 OpenGL 支持(libglvnd),适合同时需要 GPU 计算与图形渲染的应用(如可视化、仿真、带界面的图形应用)。两者都有 base、runtime、devel 等标签变体,按需选择镜像大小与是否含编译工具。
Q2:在 Kubernetes 中如何让 Pod 使用 GPU?需要哪些 NVIDIA 镜像?
步骤大致为:1) 节点安装 NVIDIA 驱动与 NVIDIA Container Toolkit;2) 部署 nvidia/k8s-device-plugin(DaemonSet),使 Kubelet 能发现 GPU;3) 在 Pod 中声明 resources.limits["nvidia.com/gpu"] = 1(或更多)。无需在业务镜像里再装驱动,运行时由宿主机与 Container Toolkit 提供。若需在 K8s 中一键部署驱动、设备插件与监控,可考虑 nvidia/gpu-operator。
Q3:如何监控集群中 GPU 使用情况?dcgm 和 dcgm-exporter 怎么用?
nvidia/dcgm 提供 Data Center GPU Manager,可采集 GPU 健康、利用率、显存、温度等指标,默认在端口 5555 暴露 nv-hostengine。nvidia/dcgm-exporter 将 DCGM 指标以 Prometheus 格式暴露,便于被 Prometheus 抓取并在 Grafana 中做大盘与告警。典型用法:在集群中部署 dcgm 与 dcgm-exporter(如 DaemonSet 或与 GPU 节点伴生),在 Prometheus 中配置 scrape 目标为 dcgm-exporter 的 metrics 端口。
Q4:宿主机已装 NVIDIA 驱动,容器里还需要装驱动吗?nvidia/driver 镜像做什么用?
一般不需要。在宿主机安装 NVIDIA 驱动并配置 NVIDIA Container Toolkit 后,运行 nvidia/cuda 等镜像时,容器会通过卷挂载与驱动接口使用宿主机驱动,无需在镜像内再装驱动。nvidia/driver 镜像是将驱动打包进容器的特殊形态,常用于无根安装、特定编排或隔离需求,多数场景下直接用宿主机驱动 + CUDA 镜像即可。
Q5:Docker Hub 的 nvidia 镜像和 NGC (nvcr.io) 上的镜像有什么关系?该用哪个?
Docker Hub 的 nvidia/* 侧重通用基础镜像(如 cuda、cudagl、k8s-device-plugin、dcgm)和开源组件,版本标签与社区文档与 Docker Hub 一致。NGC (nvcr.io/nvidia/*) 是 NVIDIA 的企业级目录,提供更多版本化 AI/HPC 套件、安全更新与支持策略;部分组件(如 k8s-device-plugin 新版本)仅在 NGC 发布。选择建议:基础 CUDA 与 K8s 设备插件可从 Docker Hub 使用;若需要 NGC 独有镜像、固定版本或企业支持,则用 NGC。