跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客GitHub 精选镜像工具UI配色美学隐私政策关于联系
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
Shell / BashAI算法

Ubuntu 24.04 LTS 安装 NVIDIA 显卡驱动、CUDA 12.5 及 Docker 容器工具包

Ubuntu 24.04 LTS 系统环境搭建指南,涵盖 NVIDIA 显卡驱动、CUDA 12.5 及 Docker 容器工具包的完整安装流程。主要步骤包括清理旧驱动、配置官方软件源、安装 CUDA Toolkit 及环境变量设置。通过 NVIDIA Container Toolkit 实现 Docker 容器对 GPU 资源的访问,支持深度学习与高性能计算应用开发。包含常见问题解答,解决 Secure Boot 冲突及路径配置错误等问题。

接口猎人发布于 2025/12/10更新于 2026/5/3116 浏览
Ubuntu 24.04 LTS 安装 NVIDIA 显卡驱动、CUDA 12.5 及 Docker 容器工具包

前言

随着 Ubuntu 24.04 LTS 的发布,许多需要进行 GPU 加速计算的开发者都希望能够在这个最新的长期支持版本上搭建自己的开发环境。NVIDIA 显卡驱动是基础,CUDA 是连接硬件和上层计算框架(如 PyTorch, TensorFlow)的桥梁,而 NVIDIA Container Toolkit 则是实现容器化 GPU 应用的关键。

第一步:环境准备与清理

在开始安装之前,强烈建议先将系统中可能存在的旧版本 NVIDIA 驱动彻底卸载,以避免潜在的冲突。

打开终端(快捷键 Ctrl+Alt+T),执行以下命令:

# 更新软件包列表
sudo apt update
# 卸载所有与 nvidia 相关的软件包
sudo apt-get --purge remove '*nvidia*'
sudo apt-get autoremove
sudo apt-get autoclean

执行完毕后,最好重启一下系统,确保所有旧的驱动模块都已被卸载。

sudo reboot

重启后,你可以通过 lspci 命令确认你的 NVIDIA 显卡型号,确保硬件被系统正确识别。

# 查看 PCI 设备列表,并筛选出 NVIDIA 相关的设备
lspci | grep -i nvidia

你会看到类似下面的输出,显示你的显卡型号(例如 NVIDIA Corporation GA102 [GeForce RTX 3090])。

第二步:添加 NVIDIA CUDA 官方软件源

为了确保我们安装的是最新且最匹配的驱动和 CUDA 版本,最佳实践是使用 NVIDIA 官方提供的软件源。

更新软件包列表完成上述步骤后,再次更新你的 apt 软件包列表,以加载新的 CUDA 软件源。

sudo apt-get update

添加 CUDA 软件源

# 下载 CUDA for Ubuntu 24.04 的仓库配置文件
wget https://developer.download.nvidia.com/compute/cuda/12.5.1/local_installers/cuda-repo-ubuntu2404-12-5-local_12.5.1-555.42.06-1_amd64.deb
# 使用 dpkg 安装该仓库配置文件
sudo dpkg -i cuda-repo-ubuntu2404-12-5-local_12.5.1-555.42.06-1_amd64.deb
# 从本地仓库中提取 GPG 密钥并添加到系统的信任列表
sudo cp /var/cuda-repo-ubuntu2404-12-5-local/cuda-*-keyring.gpg /usr/share/keyrings/

下载并添加官方源的 GPG 密钥

# 下载官方的 .pin 文件,用于指定仓库优先级
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2404/x86_64/cuda-ubuntu2404.pin
# 将 .pin 文件移动到 apt 的偏好设置目录
sudo mv cuda-ubuntu2404.pin /etc/apt/preferences.d/cuda-repository-pin-600

第三步:安装 NVIDIA 驱动和 CUDA Toolkit

现在,我们可以直接通过 apt 来安装 CUDA Toolkit。一个好消息是,安装 cuda-toolkit 会自动处理其依赖关系,将最匹配的 NVIDIA 驱动一并安装上。

# 安装 CUDA Toolkit 12.5
# 这个过程会下载并安装驱动、CUDA 核心组件等,可能需要一些时间
sudo apt-get -y install cuda-toolkit-12-5

安装完成后,再次重启系统以加载新的内核模块和驱动。

sudo reboot

第四步:配置系统环境变量

为了让系统能够在任何路径下都能找到 CUDA 的可执行文件(如 nvcc)和库文件,我们需要配置 PATH 和 LD_LIBRARY_PATH 环境变量。

  • PATH 变量用于指定可执行文件的搜索路径。
  • LD_LIBRARY_PATH 变量用于指定动态链接库的搜索路径。
  • ${VAR:+:${VAR}} 是一种安全的写法,表示如果 VAR 变量已存在且非空,则在其前面添加一个冒号,否则不加,避免路径开头出现多余的冒号。

编辑 ~/.bashrc 文件使用你喜欢的文本编辑器(如 nano 或 vim)打开 ~/.bashrc 文件。

nano ~/.bashrc

在文件末尾添加以下内容

# NVIDIA CUDA Toolkit Environment Variables
export PATH=/usr/local/cuda-12.5/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-12.5/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

使配置立即生效保存并关闭文件后,执行以下命令让配置立即生效。

source ~/.bashrc

第五步:验证驱动和 CUDA 安装

现在是激动人心的验证环节!

验证 CUDA Toolkit执行 nvcc -V 或 nvcc --version 命令,检查 CUDA 编译器的版本。

nvcc -V

如果安装成功,你会看到类似下面的输出,确认 CUDA Toolkit 12.5 已安装。

nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2024 NVIDIA Corporation
Built on Tue_Mar_19_18:45:25_PDT_2024
Cuda compilation tools, release 12.5, V12.5.40
Build cuda_12.5.r12.5/compiler.34174849_0

验证 NVIDIA 驱动执行 nvidia-smi 命令。

nvidia-smi

如果一切正常,你将看到一个表格,详细列出了你的 GPU 型号、驱动版本、CUDA 版本以及 GPU 的实时状态(温度、功耗、显存使用情况等)。

第六步:安装和配置 NVIDIA Container Toolkit

为了让 Docker 容器能够使用 GPU,我们需要安装 NVIDIA Container Toolkit。

更新软件包列表并安装

sudo apt-get update
sudo apt-get install -y nvidia-container-toolkit

设置 GPG 密钥和软件源

curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg \
&& curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list | \
sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | \
sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list

配置 Docker 守护进程安装完成后,我们需要配置 Docker,让它知道如何使用 NVIDIA 运行时。

sudo nvidia-ctk runtime configure --runtime=docker

重启 Docker 服务应用新的配置,需要重启 Docker 守护进程。

sudo systemctl restart docker

第七步:最终测试——在 Docker 容器中访问 GPU

最后一步,我们来验证一下 Docker 容器是否真的能调用到 GPU 资源。

我们将运行一个官方的 CUDA 基础镜像,并在容器内部执行 nvidia-smi。

# --gpus all 参数是关键,它告诉 Docker 为该容器分配所有可用的 GPU
sudo docker run --rm --gpus all nvidia/cuda:12.5.1-base-ubuntu22.04 nvidia-smi

如果命令成功执行,并且在容器的输出中看到了和主机上一样的 nvidia-smi 表格,那么恭喜你!整个环境已经完美搭建成功!

常见问题

  • Q: 安装过程中提示 Secure Boot 相关问题怎么办?
    • A: NVIDIA 驱动是第三方内核模块,需要在 BIOS/UEFI 中禁用安全启动 (Secure Boot) 才能正常加载。请重启电脑进入 BIOS 设置,找到 Secure Boot 选项并将其设置为 Disabled。
  • Q: nvidia-smi 命令找不到?
    • A: 最大的可能是环境变量没有配置正确或没有生效。请检查 ~/.bashrc 文件中的路径是否正确(特别是 CUDA 版本号),然后执行 source ~/.bashrc。如果还不行,请检查 /usr/local/ 目录下 CUDA 的实际安装路径。
  • Q: Docker 测试时报错 docker: Error response from daemon: ...?
    • A: 确保 nvidia-container-toolkit 已正确安装,并且 sudo systemctl restart docker 命令已成功执行。检查 Docker 服务的状态 (sudo systemctl status docker) 看是否有错误信息。

目录

  1. 前言
  2. 第一步:环境准备与清理
  3. 更新软件包列表
  4. 卸载所有与 nvidia 相关的软件包
  5. 查看 PCI 设备列表,并筛选出 NVIDIA 相关的设备
  6. 第二步:添加 NVIDIA CUDA 官方软件源
  7. 下载 CUDA for Ubuntu 24.04 的仓库配置文件
  8. 使用 dpkg 安装该仓库配置文件
  9. 从本地仓库中提取 GPG 密钥并添加到系统的信任列表
  10. 下载官方的 .pin 文件,用于指定仓库优先级
  11. 将 .pin 文件移动到 apt 的偏好设置目录
  12. 第三步:安装 NVIDIA 驱动和 CUDA Toolkit
  13. 安装 CUDA Toolkit 12.5
  14. 这个过程会下载并安装驱动、CUDA 核心组件等,可能需要一些时间
  15. 第四步:配置系统环境变量
  16. NVIDIA CUDA Toolkit Environment Variables
  17. 第五步:验证驱动和 CUDA 安装
  18. 第六步:安装和配置 NVIDIA Container Toolkit
  19. 第七步:最终测试——在 Docker 容器中访问 GPU
  20. --gpus all 参数是关键,它告诉 Docker 为该容器分配所有可用的 GPU
  21. 常见问题
  • 💰 8折买阿里云服务器限时8折了解详情
  • Magick API 一键接入全球大模型注册送1000万token查看
  • 🤖 一键搭建Deepseek满血版了解详情
  • 一键打造专属AI 智能体了解详情
极客日志微信公众号二维码

微信扫一扫,关注极客日志

微信公众号「极客日志V2」,在微信中扫描左侧二维码关注。展示文案:极客日志V2 zeeklog

更多推荐文章

查看全部
  • Git filter-repo 历史重写工具深度指南
  • Java Web 影城会员管理系统:SpringBoot2+Vue3+MyBatis-Plus+MySQL8.0
  • 位运算实战:判断字符唯一性与查找缺失数字
  • 前端 WebSocket 实战:告别轮询实现实时通信
  • Codex 代码生成模型简介
  • 利用 AI 工具实现软件原型自动绘制与代码生成
  • 毕业论文写作困境分析与智能辅助工具应用
  • Agent-Browser:面向 AI 的浏览器自动化 CLI 工具指南
  • OpenClaw 对接飞书实现多机器人群聊配置
  • 2026 年 Python AI 开源工具精选:从 Agent 框架到大模型推理实战
  • IDEA 迁移至 Trae AI IDE:SpringBoot+Maven+Vue 项目配置
  • C++ 原子操作 compare_exchange_weak 详解
  • Web 技术核心与安全风险(三):PHP 基础与数据交互
  • GitHub Trending AI 榜单速览:无线感知、Agent 技能与数字伙伴
  • Java 使用 Spire.PDF 解析 PDF 文本、表格、图像及元数据
  • Go、Rust、Kotlin、Python 与 Java:五大主流语言性能及生态全面解读
  • 大模型分布式训练核心原理与高效调参实战
  • GitHub Copilot 学生认证指南
  • VsCode 远程调用 Claude Agent 报错无效请求?参数配置排查指南
  • 高空长航时无人机热管理系统中抗辐照 MCU 的可靠性验证与应用

相关免费在线工具

  • 加密/解密文本

    使用加密算法(如AES、TripleDES、Rabbit或RC4)加密和解密文本明文。 在线工具,加密/解密文本在线工具,online

  • RSA密钥对生成器

    生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online

  • Mermaid 预览与可视化编辑

    基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online

  • 随机西班牙地址生成器

    随机生成西班牙地址(支持马德里、加泰罗尼亚、安达卢西亚、瓦伦西亚筛选),支持数量快捷选择、显示全部与下载。 在线工具,随机西班牙地址生成器在线工具,online

  • Gemini 图片去水印

    基于开源反向 Alpha 混合算法去除 Gemini/Nano Banana 图片水印,支持批量处理与下载。 在线工具,Gemini 图片去水印在线工具,online

  • Base64 字符串编码/解码

    将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online