当前位置:首页 > 系统教程 > 正文

Ubuntu 22.04 安装 NVIDIA 显卡驱动与 Docker 终极指南(从零搭建 GPU 容器化环境)

Ubuntu 22.04 安装 NVIDIA 显卡驱动与 Docker 终极指南(从零搭建 GPU 容器化环境)

前言:为什么你需要这套环境?

在数据科学和人工智能领域,Ubuntu 22.04 是众多开发者的首选操作系统。为了充分释放 NVIDIA 显卡的并行计算能力,并利用 Docker 容器技术实现环境的快速部署与隔离,正确安装 NVIDIA 显卡驱动、Docker 以及 NVIDIA Container Toolkit 是至关重要的第一步。本文将提供一份保姆级教程,确保即使是小白的你也能一步步搭建成功。

Ubuntu 22.04 安装 NVIDIA 显卡驱动与 Docker 终极指南(从零搭建 GPU 容器化环境) 驱动  镜像 下载 Container Toolkit 配置 显卡驱动 安装教程 第1张

第一步:彻底清理与准备系统

在安装新驱动之前,必须确保系统干净,避免与新驱动冲突。

1.1 更新系统并卸载旧版 NVIDIA 组件

打开终端,首先更新软件包列表并升级所有已安装的软件:

sudo apt updatesudo apt upgrade -y

接下来,检查并彻底移除系统中可能存在的旧版 NVIDIA 驱动,防止干扰 -3:

sudo apt purge "^nvidia-.*"sudo apt autoremove -y

1.2 禁用 Nouveau 开源驱动

Ubuntu 自带的开源驱动 Nouveau 必须禁用,因为它与 NVIDIA 官方驱动不兼容。编辑配置文件:

sudo nano /etc/modprobe.d/blacklist-nvidia-nouveau.conf

在打开的文件中输入以下两行内容 -10:

blacklist nouveauoptions nouveau modeset=0

保存并退出(Ctrl+O, Ctrl+X),然后更新内核并重启:

sudo update-initramfs -usudo reboot

第二步:安装 NVIDIA 显卡驱动

重启后,我们开始安装驱动。这里推荐使用最稳定的 apt 仓库安装方式。

2.1 添加显卡驱动 PPA

Graphics Drivers PPA 提供了最新的 NVIDIA 驱动包。添加并更新:

sudo add-apt-repository ppa:graphics-drivers/ppasudo apt update

2.2 查看并安装推荐驱动

使用 ubuntu-drivers 命令自动检测最适合你显卡的驱动版本 -10:

ubuntu-drivers devices

你会看到类似输出,其中带有 "recommended" 标记的版本就是最佳选择,例如 nvidia-driver-535。直接自动安装推荐版本:

sudo apt install nvidia-driver-535

注意:请将 535 替换为你查询到的推荐版本号。安装完成后再次重启:

sudo reboot

2.3 验证驱动安装

重启后,在终端输入以下命令,如果看到显卡状态列表,则说明 NVIDIA 显卡驱动 安装成功 -7:

nvidia-smi

这个命令显示的 Driver Version 就是你的驱动版本,后续配置 NVIDIA Container Toolkit 时也要以此为基础。

第三步:安装与配置 Docker

3.1 安装 Docker 引擎

我们使用 Docker 官方仓库来安装最新版本。首先安装依赖包:

sudo apt install apt-transport-https ca-certificates curl software-properties-common -y

添加 Docker 的官方 GPG 密钥和稳定版仓库 -5:

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpgecho "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

更新索引并安装 Docker(包含 CLI 和 containerd):

sudo apt updatesudo apt install docker-ce docker-ce-cli containerd.io -y

启动 Docker 并设置开机自启 -2:

sudo systemctl start dockersudo systemctl enable docker

3.2 管理 Docker 权限(可选但推荐)

为了避免每次使用 Docker 命令都加 sudo,将当前用户加入 docker 组 -9:

sudo usermod -aG docker $USERnewgrp docker

登出或重启后生效。

3.3 测试 Docker 并拉取镜像

运行 hello-world 测试 Docker 是否正常。之后,尝试 下载 Docker 镜像,例如拉取一个 Ubuntu 系统镜像:

docker run hello-worlddocker pull ubuntu:22.04

使用 docker images 命令可以查看已下载的镜像 -2。

第四步:安装 NVIDIA Container Toolkit

这是让 Docker 容器能够访问宿主机的 NVIDIA 显卡的关键组件。

4.1 添加 NVIDIA Container Toolkit 仓库

配置官方仓库和 GPG 密钥 -4:

curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpgcurl -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

更新软件源:

sudo apt update

4.2 安装并配置 Toolkit

安装 NVIDIA Container Toolkit 软件包:

sudo apt install nvidia-container-toolkit -y

安装完成后,需要使用 nvidia-ctk 命令来配置 Docker 运行时,让 Docker 识别 NVIDIA 运行时 -1:

sudo nvidia-ctk runtime configure --runtime=docker

该命令会修改 Docker 的 daemon.json 配置文件。最后,重启 Docker 使配置生效:

sudo systemctl restart docker

第五步:终极验证

现在,让我们运行一个真正的 CUDA 容器来验证整条链路是否打通。

5.1 运行 GPU 验证容器

执行以下命令,Docker 会自动拉取一个包含 CUDA 环境的镜像,并运行 nvidia-smi 命令 -1:

docker run --rm --gpus all nvidia/cuda:12.0.0-base-ubuntu22.04 nvidia-smi

如果终端里成功打印出与第二步中类似的 GPU 信息列表,那么恭喜你!整个 Ubuntu 22.04 安装 NVIDIA 驱动、Docker 和 NVIDIA Container Toolkit 的流程就圆满成功了 -4。

5.2 下一步

这意味着你现在可以运行任何需要 GPU 加速的容器了,比如 TensorFlow 或 PyTorch 的官方镜像,无需再为环境配置而烦恼。你可以直接拉取相关镜像开始你的 AI 之旅:

docker pull tensorflow/tensorflow:latest-gpu

结语

通过本文的详细步骤,我们不仅在 Ubuntu 22.04 上成功安装了 NVIDIA 官方驱动,还配置了 Docker 环境以及至关重要的 NVIDIA Container Toolkit。这套组合拳为运行高性能计算和 AI 应用奠定了坚实的基础。