大模型部署从0到1(一):通用环境全流程准备|NVIDIA驱动+Docker+NVIDIA Container Toolkit

本系列将完整拆解大模型单机/多机集群部署的全流程,从基础环境搭建到推理服务上线,一步步带你落地大模型应用。

本篇作为系列开篇,覆盖所有服务器通用的底层环境配置,适配 Ubuntu 22.04+ 操作系统 + NVIDIA RTX 4090D/5090D 系列GPU


📋 一、核心依赖组件总览

大模型推理依赖GPU加速与容器化部署,基础环境需提前装好以下核心组件:

组件名称 核心作用
NVIDIA 驱动 操作系统识别并调用GPU硬件的基础,是所有GPU加速能力的前提
NVIDIA Container Toolkit 实现Docker容器对宿主机GPU的直接访问,让容器内推理可以调用GPU
Docker 提供隔离的容器化运行环境,规避依赖冲突,简化部署与迁移
Docker Compose 通过YAML文件一键编排多节点服务,大幅降低集群搭建复杂度

🔧 二、NVIDIA 驱动安装

2.1 查看系统推荐驱动版本

执行命令自动检测硬件,获取官方推荐的驱动版本:

bash 复制代码
ubuntu-drivers devices
bash 复制代码
ubuntu-drivers devices
ERROR:root:aplay command not found
== /sys/devices/pci0000:15/0000:15:01.0/0000:16:00.0 ==
modalias : pci:v000010DEd00002B87sv00007377sd00001300bc03sc00i00
vendor   : NVIDIA Corporation
driver   : nvidia-driver-590-open - distro non-free
driver   : nvidia-driver-570-open - distro non-free
driver   : nvidia-driver-590-server - distro non-free
driver   : nvidia-driver-590-server-open - distro non-free
driver   : nvidia-driver-590 - distro non-free
driver   : nvidia-driver-570-server-open - distro non-free
driver   : nvidia-driver-580 - distro non-free
driver   : nvidia-driver-580-open - distro non-free recommended
driver   : nvidia-driver-570-server - distro non-free
driver   : nvidia-driver-580-server-open - distro non-free
driver   : nvidia-driver-570 - distro non-free
driver   : nvidia-driver-580-server - distro non-free
driver   : xserver-xorg-video-nouveau - distro free builtin

💡 输出说明:命令结果中会标注 recommended 的驱动包,例如 nvidia-driver-580-server,优先选择带 server 后缀的服务器稳定版。

2.2 升级系统并安装基础依赖

更新系统源,安装编译必备的基础工具链:

bash 复制代码
apt-get update && apt upgrade -y && apt-get install -y g++ gcc make

2.3 卸载旧驱动(冲突时可选)

若系统存在旧版NVIDIA驱动并出现依赖冲突,可执行完全清理:

bash 复制代码
apt remove --purge nvidia* libnvidia* -y

2.4 安装指定版本驱动

以推荐的 nvidia-driver-580-server 为例执行安装:

bash 复制代码
sudo apt install -y nvidia-driver-580-server

2.5 安装状态预校验

重启系统前,先验证驱动包与内核模块状态:

bash 复制代码
# 检查驱动软件包是否安装成功
dpkg -l | grep nvidia-driver-580-server

# 检查内核模块是否正常加载
ls /lib/modules/$(uname -r)/updates/dkms | grep nvidia

2.6 重启系统并最终验证

⚠️ 注意:重启前请确认SSH服务已设置开机自启,避免重启后无法远程连接服务器。

bash 复制代码
reboot

重启完成后,执行GPU状态命令做最终验证:

bash 复制代码
nvidia-smi

✅ 预期效果:终端输出GPU型号、显存容量与占用、驱动版本、CUDA版本等信息,即代表驱动安装成功。

nvidia-smi

bash 复制代码
Mon Jan 01 00:00:00 2026
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 580.xx.xx             Driver Version: 580.xx.xx   CUDA Version: 13.x |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|                               |                      |               MIG M. |
|===============================+======================+======================|
|   0  NVIDIA GeForce RTX 4090 D  Off  | 00000000:XX:00.0 Off |                  Off |
| 30%   31C    P8     5W / 425W |      0MiB / 24564MiB |      0%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+
|   1  NVIDIA GeForce RTX 4090 D  Off  | 00000000:XX:00.0 Off |                  Off |
| 30%   31C    P8     9W / 425W |      0MiB / 24564MiB |      0%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+
|   2  NVIDIA GeForce RTX 4090 D  Off  | 00000000:XX:00.0 Off |                  Off |
| 30%   30C    P8     5W / 425W |      0MiB / 24564MiB |      0%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+
|   3  NVIDIA GeForce RTX 4090 D  Off  | 00000000:XX:00.0 Off |                  Off |
| 30%   31C    P8    13W / 425W |      0MiB / 24564MiB |      0%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+

+-----------------------------------------------------------------------------+
| Processes:                                                                  |
|  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
|        ID   ID                                                   Usage      |
|=============================================================================|
|  No running processes found                                                 |
+-----------------------------------------------------------------------------+

🐳 三、Docker 与 NVIDIA Container Toolkit 安装

3.1 安装Docker引擎

bash 复制代码
apt-get update && apt-get install -y docker-ce docker-ce-cli containerd.io

3.2 配置镜像加速与数据目录

创建Docker配置文件,配置国内镜像源加速拉取、自定义数据存储目录,并预置NVIDIA运行时配置:

bash 复制代码
tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": [
        "https://docker.m.daocloud.io",
        "https://87lg46g9.mirror.aliyuncs.com",
        "https://dockerhub.icu",
        "https://docker.chenby.cn",
        "https://docker.1panel.live",
        "https://docker.awsl9527.cn",
        "https://docker.anyhub.us.kg",
        "https://dhub.kubesre.xyz",
        "https://docker.13140521.xyz"
  ],
   "data-root": "/data/docker",
   "runtimes": {
        "nvidia": {
            "path": "/usr/bin/nvidia-container-runtime",
            "runtimeArgs": []
        }
    }
}
EOF

💡 说明:data-root 可根据自身磁盘规划,修改为自定义的Docker数据存储路径。

配置完成后重启Docker使配置生效:

bash 复制代码
systemctl daemon-reload && systemctl restart docker

3.3 安装NVIDIA Container Toolkit

添加官方软件源并安装工具包:

bash 复制代码
curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | 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' | \
  tee /etc/apt/sources.list.d/nvidia-container-toolkit.list

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

3.4 配置Docker运行时并重启

bash 复制代码
nvidia-ctk runtime configure --runtime=docker
systemctl restart docker

3.5 验证容器GPU透传能力

启动官方CUDA测试容器,验证容器内可以正常识别宿主机GPU:

bash 复制代码
docker run --rm --gpus all nvidia/cuda:12.6.0-base-ubuntu22.04 nvidia-smi

✅ 预期效果:容器正常启动,并输出与宿主机一致的GPU状态信息,代表容器GPU访问配置成功。


📝 本篇小结

至此,大模型部署的通用基础环境就全部搭建完成了。下一篇我们将讲解如何下载模型,实现单机大模型推理服务的一键部署。

原创不易,如果内容对你有帮助,欢迎点赞、收藏、关注,持续更新大模型部署实战干货~

相关推荐
hj2862512 小时前
K8S 核心组件与资源概念 + 带注释命令 + 实操案例版笔记
笔记·容器·kubernetes
蝶恋舞者2 小时前
DNS 服务器(后续持续更新)
运维·服务器
Mortalbreeze2 小时前
深入理解 Linux 线程机制(四):线程同步——条件变量与信号量
linux·运维·服务器·开发语言·c++
nece0013 小时前
Kubernetes v1.36.0 + Ubuntu24.04 + containerd 2.x WordPress 完整部署文档
云原生·容器·kubernetes
hdsoft_huge3 小时前
SpringBoot 系列 20:Jar 打包 + Docker 容器化 + Compose 一键部署|服务器上线 & 零停机平滑升级全教程
spring boot·docker·jar
你想考研啊3 小时前
七、Docker 容器 + Docker Compose单机部署理发店系统
docker·容器·composer
汤愈韬3 小时前
KYCA运维认证
运维·服务器·网络
ZENERGY-众壹3 小时前
50MW分布式VPP接入实战:调度中心要求的1分钟频率如何不卡死API
运维·服务器·分布式·光伏运维
运维大师4 小时前
【Linux运维极简教程】10-日志管理与故障排查
linux·运维·服务器