Docker+Nvidia Container Toolkit 在ubuntu下离线安装

Docker+Nvidia Container Toolkit 在ubuntu下离线安装

做项目时有的电脑不能联网,只能本地安装,这里记录操作流程

Docker安装

官方文档: https://docs.docker.com/engine/install/ubuntu/#install-using-the-repository

参考docker官方文档,进入docker的安装包仓库https://download.docker.com/linux/ubuntu/dists/,选择自己的ubuntu版本(如果不知道用lsb_release -a查),例如我的ubuntu版本是20.04,版本名是focal,选择/focal/pool/stable/amd64/,有很多文件,各个文件选择最新版本下载即可。

安装文件

console 复制代码
 sudo dpkg -i ./containerd.io_<version>_<arch>.deb \
  ./docker-ce_<version>_<arch>.deb \
  ./docker-ce-cli_<version>_<arch>.deb \
  ./docker-buildx-plugin_<version>_<arch>.deb \
  ./docker-compose-plugin_<version>_<arch>.deb

安装后docker应该正常启动

查看docker的状态

复制代码
 sudo systemctl status docker

检查docker版本

复制代码
docker --version

下载Nvidia Driver文件

网页: https://www.nvidia.com/en-us/drivers/

根据自己的电脑和显卡型号选择driver版本,网页最终推荐的是Linux x64 (AMD64/EM64T) Display Driver 595.58.03 | Linux 64-bit,直接下载

在有网络的同系统的机器上下载依赖包

复制代码
# 创建存放 deb 包的目录
mkdir ~/nvidia-offline && cd ~/nvidia-offline

# 下载所有依赖包(包括 gcc、make、dkms、内核头文件等)
sudo apt-get download $(apt-cache depends --recurse --no-recommends --no-suggests --no-conflicts --no-breaks --no-replaces --no-enhances build-essential dkms linux-headers-$(uname -r) | grep "^\w" | sort -u)

拷贝后在离线机器上安装

复制代码
sudo dpkg -i ./*

安装dricver

复制代码
sudo chmod +x NVIDIA-Linux-*.run
sudo sh NVIDIA-Linux-*.run

安装完成后用nvidia-smi测试是否安装成功

Tips:

  1. 询问是否要安装32位兼容库,选yes,有些库会依赖32位兼容库,占用空间也很小

  2. 警告找不到libglvnd,忽略即可

  3. 是否自动生成nvidia-xconfig,选yes,让系统使用nvidia驱动

下载 NVIDIA Container Toolkit

官方文档:https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/latest/install-guide.html

支持平台:https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/latest/supported-platforms.html

下载链接:https://github.com/NVIDIA/nvidia-container-toolkit

只需要安装驱动,不需要安装cuda toolkit

首先检查当前版本是否支持要安装的系统,例如1.19.0不支持18.04,确定版本后进入git仓库的release界面找要下载的版本,解压缩后进行安装

bash 复制代码
sudo dpkg -i ./*

重启docker,让docker使用NVIDIA Container Toolkit

复制代码
sudo systemctl restart docker

测试docker内部是否检测到gpu

导入镜像,这里之前docker pull了一个ubuntu20.04的镜像,用save指令保存到了ubuntu_image.tar

bash 复制代码
sudo docker load -i ubuntu_image.tar

测试nvidia-smi

复制代码
sudo docker run --rm -it --gpus all ubuntu:20.04 nvidia-smi
相关推荐
分布式存储与RustFS16 小时前
MinIO 官方 Docker 镜像被移除:依赖它的项目该怎么办
docker·云原生·devops·对象存储·minio·分布式存储
玉&心18 小时前
通过Arthas在线诊断K8S中的内存及JVM等使用情况
docker·k8s·arthas
xing-xing18 小时前
Docker容器中Nginx站点根目录网页配置访问
nginx·docker
guo_wen_qiang19 小时前
上传本地镜像到harbor中
docker·容器·持续部署
羑悻的小杀马特19 小时前
Dockerfile 全景指南:从入门编写dockerfile到生产环境镜像优化实战,一步步带你从啃透制作指令到镜像制作落地!
docker·dockerfile·镜像制作
BianHuanShiZhe19 小时前
docker常见命令
docker
正经教主21 小时前
【FDE系列】阶段2:Day 43:Docker Compose — 多容器一键编排
人工智能·docker·fde
zhangrelay1 天前
《机器人控制器设计与编程》课程习题资料-2026
linux·笔记·学习·ubuntu
忆~遂愿1 天前
本地片库怎么在外面打开?Plex + cpolar 搭一套可远程访问的私人影音库
docker·容器
Linux-lucky1 天前
39-41-Linux学习之旅之redis缓存基础与NFS基础
linux·运维·mysql·ubuntu