安装 NVIDIA Container Runtime(含离线安装)

由于我要离线安装,所以我在联网状态下按照离线方式进行的安装,但下载是联网状态。

第一步:在联网状态下下载所需.deb包(在ubuntu 22.04.5上运行)

1. 添加 NVIDIA 仓库(仅用于下载,不安装)

设置 distribution 变量

distribution=(. /etc/os-release;echo ID$VERSION_ID)

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

添加正确的仓库(使用通用 deb 路径)

echo "deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://nvidia.github.io/libnvidia-container/stable/deb/amd64 /" | sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list

sudo apt update

2. 创建一个目录用于存放 .deb 文件

mkdir -p ~/nvidia-offline && cd ~/nvidia-offline

3. 下载 nvidia-container-toolkit 及其所有依赖(不安装)

apt download $(apt-cache depends --recurse --no-recommends --no-suggests --no-conflicts --no-breaks --no-replaces --no-enhances nvidia-container-toolkit | grep "^\w" | sort -u)

4. (可选)同时下载 GPG 公钥文件

cp /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg ./

5. 打包

tar -czvf nvidia-container-toolkit-offline.tar.gz *.deb nvidia-container-toolkit-keyring.gpg

第二步:将文件拷贝到离线 WSL2 环境

  • nvidia-container-toolkit-offline.tar.gz 拷贝到 Windows 主机(例如 C:\offline\
  • 在 WSL2 中访问:/mnt/c/offline/
  • 解压:

mkdir -p ~/nvidia-offline

tar -xzvf /mnt/c/offline/nvidia-container-toolkit-offline.tar.gz -C ~/nvidia-offline

cd ~/nvidia-offline

第三步:在离线 Ubuntu (WSL2) 中安装

1. 安装 GPG 密钥(用于验证,虽离线但保持配置一致)

sudo cp nvidia-container-toolkit-keyring.gpg /usr/share/keyrings/

2. 安装所有 .deb 包(注意顺序:依赖先装)

sudo dpkg -i *.deb

如果提示依赖错误(因为顺序问题),运行:

sudo apt-get install -f

第四步:配置 Docker runtime

sudo nvidia-ctk runtime configure --runtime=docker

第五步:重启 Docker

之前我启用了systemd,就是添加到wsl.conf文件那个,所以:

sudo systemctl restart docker #看到 active (running)

第六步:离线测试

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

这里报错了,显示:

Unable to find image 'nvidia/cuda:12.4.0-base-ubuntu22.04' locally

解决方案:

1.将 cuda-12.4-base.tar 拷贝到你的离线 WSL2 机器

例如放在 Windows 的 C:\offline\cuda-12.4-base.tar,则在 WSL2 中路径为:

/mnt/c/offline/cuda-12.4-base.tar

2.在离线 WSL2 中加载镜像:

docker load -i /mnt/c/offline/cuda-12.4-base.tar

#输出类似于:Loaded image: nvidia/cuda:12.4.0-base-ubuntu22.04

再次运行测试命令!!!

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

成功显示 GPU 信息!!!!跟用nvidia-smi的一样

相关推荐
weixin_4573402113 小时前
旋转OBB数据集标注查看器
图像处理·人工智能·python·yolo·目标检测·数据集·旋转
玖日大大13 小时前
NLP—— 让机器读懂人类语言的艺术与科学
人工智能·自然语言处理
这张生成的图像能检测吗14 小时前
(论文速读)BV-DL:融合双目视觉和深度学习的高速列车轮轨动态位移检测
人工智能·深度学习·计算机视觉·关键点检测·双目视觉·激光传感器
lxmyzzs14 小时前
在 RK3588 开发板上部署 DeepSeek-R1-Distill-Qwen-1.5B 模型:RKLLM API 实战指南
人工智能·rk3588·deepseek
老欧学视觉14 小时前
0011机器学习特征工程
人工智能·机器学习
科技观察14 小时前
国产MATLAB替代软件的关键能力与生态发展现状
大数据·人工智能·matlab
用户51914958484514 小时前
掌握比特币:开放区块链编程全解析
人工智能·aigc
轻赚时代14 小时前
PC 端 AI 图像处理工具实操指南:抠图 / 证件照优化 / 智能擦除全流程解析
图像处理·人工智能·经验分享·笔记·深度学习·创业创新·学习方法
晓山清14 小时前
Meeting Summarizer Using Natural Language Processing论文理解
人工智能·python·nlp·摘要生成
池央14 小时前
从“算子不支持”到“NPU高效执行”:CANN 8.0 TBE 自定义算子落地实践
linux·人工智能