type
status
date
slug
summary
category
tags
create_time
Aug 2, 2025 06:23 PM
icon
password
my_create_time
📝 前言
欢迎来到《云原生之旅第二部分》的第四篇文章。
在前三篇中,我们已经一起探索了 Docker 的基础知识和进阶功能:
- 《第二部分:Docker 基础篇(构建你的第一个容器)》:我们系统地介绍了Docker的核心概念、架构原理,并通过实际案例演示了如何构建和运行第一个容器,为初学者奠定了坚实的基础。
- 《第二部分:Docker 进阶篇(功能拓展)》:我们深入探讨了 Docker 存储、网络、日志、监控等高级功能,帮助读者掌握生产环境中的实用技能。
- 《第二部分:Docker 镜像构建技巧实战》:我们进一步的了解了在生产环境中镜像构建的实用技巧。
现在,我们将继续 Docker 在 AI 领域的应用。
🧭 背景介绍
随着AI大模型、深度学习、视频处理等对计算性能需求的不断提升,GPU 计算已成为容器化部署中的重要一环。
相比 CPU,GPU 在大规模并行计算方面具有极高的效率,因此在 AI 模型训练与推理、图像渲染等场景中扮演关键角色。
但在传统的 Docker 容器中,默认并不支持直接访问宿主机的 GPU 资源。
为了解决这个问题,NVIDIA 提供了
NVIDIA Container Toolkit
,使得我们可以轻松将 GPU 功能集成到 Docker 容器中。本篇文章将详细介绍如何在 Docker 容器中使用 NVIDIA GPU。
🧠 本章知识卡片

🔍 使用场景
Docker GPU 容器广泛应用于以下场景:
- 深度学习模型的训练与推理(TensorFlow、PyTorch)
- 部署与微调开源大模型(如 DeepSeek 系列)
- 视频处理与转码(FFmpeg + NVENC)
- 图像渲染与 3D 计算(如 Blender 渲染)
📋 前提条件
在正式进入实战之前,请确保你已经具备以下条件:
- 一台已安装 NVIDIA GPU 的物理机或虚拟机(推荐使用 Ubuntu)
- 安装并启用 Docker(可参看文章:《Docker 与 Docker Compose 安装部署》)
🚀 详细步骤
1️⃣ GPU 容器基础概念
GPU 容器是指 支持 GPU 加速的 Docker 容器,通过共享主机的 GPU 硬件和驱动,使容器内的应用(如 PyTorch、TensorFlow)能够直接调用 GPU 计算资源。
在 Docker 中使用 GPU 资源,并不是“开箱即用”,默认情况下,Docker 容器对 GPU 是不可见的。
因此 NVIDIA 提供了以下支持方案:
- nvidia-container-runtime:将 NVIDIA GPU 驱动桥接到容器运行时。
- --gpus all / device=0:通过命令参数指定使用的 GPU。
NVIDIA Docker 容器运行架构图如下:

2️⃣ GPU 容器环境搭建
这里以 Ubuntu 系统为例,先安装 NVIDIA 驱动,然后再安装 NVIDIA Container Toolkit,该工具包含:
- nvidia-container-runtime:核心的 nvidia 容器运行时
- nvidia-ctk: NVIDIA Container Toolkit 命令行工具
- nvidia-cdi-hook:NVIDIA CDI(容器设备接口)挂载点
- nvidia-container-runtime-hook:NVIDIA 容器运行时挂载点
- nvidia-container-cli:NVIDIA Container 命令行工具
- libnvidia-container1:NVIDIA 容器库
首先安装驱动
打印类似以下内容则表示驱动安装成功:

安装 NVIDIA Container Toolkit
配置 Docker
安装完成后,使用
nvidia-ctk
工具配置 Docker:执行完以上命令后,会自动在
/etc/docker/daemon.json
文件中添加以下配置信息:有了这个配置,Docker 才能使用 NVIDIA 容器运行时。
重启 Docker
测试 GPU 容器是否可用
3️⃣ GPU 容器化实践
有了 GPU 容器的支持,那么我们可以做哪些事情呢?
可以通过容器化开发部署 GPU 应用,也可以快速部署推理大模型。
这里我们以一个简单的 PyTorch 项目作为示例。
使用 Docker 进行构建并运行:
4️⃣ GPU 容器调试与资源管理
使用 GPU 容器时,调试与资源隔离非常重要,最常用的调试就是打印 GPU 信息,如:
GPU 资源是非常宝贵的,为了提高资源利用率,通常需要将资源进行隔离限制,如:
需要注意的是,Docker 本身目前不支持直接限制显存大小,但可以通过 NVIDIA 提供的 vGPU(虚拟 GPU)技术实现显存配额管理。
✅ 总结
本文从基础概念出发,带你逐步完成 GPU 容器化的环境搭建、镜像构建、运行与调试全流程。
通过 Docker 使用 GPU 资源,不仅能显著加速计算任务,还能提高部署的一致性与可移植性。
在实际项目中,推荐:
- 使用官方 CUDA 镜像作为基础镜像
- 合理设置
--gpus
参数控制资源
- 在构建镜像时考虑使用多阶段构建优化体积
有关文章的任何疑问,欢迎您在底部评论区留言,一起交流~
若文章对您有帮助,欢迎 请我喝杯咖啡~
- 作者:青萍叙事
- 链接:https://blog.lusyoe.com/article/docker-gpu-guide
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。