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
相关推荐
Ares-Wang9 小时前
Linux》》systemd 、service、systemctl daemon-reload、systemctl restart docker
linux·运维·docker
tinygone10 小时前
OpenClaw之Memory配置成本地模式,Ubuntu+CUDA+cuDNN+llama.cpp
人工智能·ubuntu·llama
苏渡苇12 小时前
Docker 网络完全指南
网络·docker·容器·docker容器·容器通信
斯普信云原生组14 小时前
Docker 开源软件应急处理方案及操作手册——镜像管理与构建故障
docker·容器·eureka
MichealChen01050816 小时前
Influxdb-cluster使用docker部署
运维·docker·容器
斯普信云原生组17 小时前
Docker 开源软件应急处理方案及操作手册——安全漏洞与权限问题
运维·docker·容器
MonkeyKing_sunyuhua18 小时前
阿里云ECS安装docker compose
阿里云·docker·云计算
迷路爸爸18019 小时前
Docker 入门学习笔记 06:用一个可复现的 Python 项目真正理解 Dockerfile
笔记·学习·docker
斯普信云原生组19 小时前
Docker 开源软件应急处理方案及操作手册——容器运行异常处理
docker·容器·eureka