Docker GPU插件(NVIDIA Container Toolkit)安装

一、Ubuntu 22.04 前置准备(主要版本要对应)

  1. 系统更新与依赖安装

    先确保系统包索引最新,避免安装冲突:

bash 复制代码
sudo apt-get update && sudo apt-get upgrade -y

sudo apt-get install -y ca-certificates curl gnupg lsb-release  # 必备依赖
  1. Docker 环境验证

    需提前安装 Docker 19.03+(Ubuntu 22.04 推荐 Docker 20.10+),验证安装:

bash 复制代码
docker --version  # 输出Docker版本,如20.10.21

sudo systemctl status docker  # 确认Docker服务运行中

若未安装 Docker,先执行官方安装脚本

二、Ubuntu 22.04 专属:NVIDIA Container Toolkit 安装

1. 卸载旧版冲突组件
复制代码
sudo apt-get purge -y nvidia-docker nvidia-container-runtime  # 清除历史版本

sudo rm -rf /etc/apt/sources.list.d/nvidia-docker.list  # 删除旧源
2. 添加 NVIDIA 官方源(适配 Ubuntu 22.04)

Ubuntu 22.04 对应jammy版本,需指定正确的源路径:

bash 复制代码
# 导入GPG密钥(与Ubuntu 20.04通用,但需重新执行确保生效)

curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg

# 添加Ubuntu 22.04(jammy)专属源

curl -s -L https://nvidia.github.io/libnvidia-container/ubuntu22.04/libnvidia-container.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
3. 安装并配置 Toolkit(关键插件)
bash 复制代码
# 更新源并安装核心插件

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

# 生成Docker配置文件(自动关联GPU驱动)

sudo nvidia-ctk runtime configure --runtime=docker

# 重启Docker服务使配置生效

sudo systemctl restart docker

Docker配置文件

4. 验证插件安装成功

运行测试镜像,若正常输出 GPU 信息,则插件生效:

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

预期输出:包含宿主机 GPU 型号、CUDA 版本等信息(如 RTX 3090 + CUDA 12.2)。

5. 离线安装

离线包下载镜像地址:https://mirror.cs.uchicago.edu/nvidia-docker/libnvidia-container/stable/ubuntu20.04/amd64/
下载包如下:

三、Ubuntu 22.04 专属注意事项

  1. 源路径正确性

    Ubuntu 22.04 的源路径必须是ubuntu22.04(对应 jammy),若误使用ubuntu20.04(focal)会导致依赖冲突,安装失败。

  2. Docker 版本兼容

    Ubuntu 22.04 默认软件源的 Docker 版本可能较低(如 20.10.12),建议通过 Docker 官方脚本安装最新稳定版,避免--gpus参数不支持。

  3. 驱动与 CUDA 版本匹配

    Ubuntu 22.04 推荐安装 NVIDIA 驱动 515.43.04+,对应的 CUDA 版本建议 11.7+,可通过以下命令安装兼容驱动:

bash 复制代码
# 安装Ubuntu 22.04推荐的NVIDIA驱动

sudo ubuntu-drivers autoinstall

sudo reboot  # 重启生效
  1. 非 root 用户权限配置

    若需免 sudo 使用 Docker GPU,除了添加docker用户组,还需确保nvidia-container-toolkit权限正确:

bash 复制代码
sudo chmod 666 /var/run/docker.sock  # 临时授权(重启后失效)

# 永久授权:编辑Docker服务配置

sudo nano /etc/systemd/system/docker.service.d/override.conf

# 添加内容:ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock -H unix:///var/run/docker.sock

sudo systemctl daemon-reload && sudo systemctl restart docker

四、常见问题(Ubuntu 22.04 专属)

  1. 安装时提示 "依赖未满足"

    原因:源路径错误或系统未更新。解决方案:

bash 复制代码
sudo rm /etc/apt/sources.list.d/nvidia-container-toolkit.list  # 删除错误源

# 重新执行"添加NVIDIA官方源"步骤(确保路径为ubuntu22.04)

sudo apt-get update && sudo apt-get install -y nvidia-container-toolkit
  1. 容器内提示 "CUDA driver version is insufficient for CUDA runtime version"

    原因:宿主机驱动版本低于镜像要求。解决方案:

  • 安装更高版本驱动:sudo ubuntu-drivers autoinstall

  • 更换低版本 CUDA 镜像,如nvidia/cuda:11.7.0-base-ubuntu22.04

  1. nvidia-ctk命令未找到

    原因:Toolkit 安装不完整。解决方案:

bash 复制代码
sudo apt-get remove -y nvidia-container-toolkit

sudo apt-get autoremove -y

# 重新安装并清理缓存

sudo apt-get update && sudo apt-get install -y nvidia-container-toolkit --fix-missing

六 dockers容器创建

相关推荐
2501_906150563 小时前
私有部署问卷系统操作实战记录-DWSurvey
java·运维·服务器·spring·开源
岳来3 小时前
docker 从 Path 值看容器启动命令
运维·docker·容器
南宫乘风3 小时前
Kubernetes 本地存储实战:Open-Local 从部署到生产级应用
云原生·容器·kubernetes
RisunJan4 小时前
Linux命令-ifconfig命令(配置和显示网络接口的信息)
linux·运维·服务器
杭州泽沃电子科技有限公司4 小时前
面对风霜雨雪雷电:看在线监测如何为架空线路筑牢安全网
运维·人工智能·在线监测·智能监测
lbb 小魔仙4 小时前
【Linux】100 天 Linux 入门:从命令行到 Shell 脚本,告别“光标恐惧”
linux·运维·服务器
早川9195 小时前
Linux系统
linux·运维·服务器
iFlow_AI6 小时前
iFlow CLI + ACK MCP Server:让 ACK 容器运维进入对话时代
运维·ack·iflow·iflow cli
IT利刃出鞘6 小时前
Docker Compose--解决容器时间不正确的问题
运维·docker·容器