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
相关推荐
BullSmall3 小时前
第三方软件安全-Dependency‑Track Docker 部署
安全·docker·容器
harmony&3 小时前
Docker 容器技术从入门到实战:容器、网络、存储与监控全解析
docker·云原生
IT大白鼠6 小时前
Docker 私有仓库管理:Harbor 企业级仓库搭建与镜像全生命周期管理
运维·docker·容器
bgy66669 小时前
从零上手 Docker,容器技术完整入门指南
运维·docker·容器
pride.li14 小时前
Docker教程-Docker安装与镜像配置
运维·docker·容器
bgy666614 小时前
Docker Swarm 容器编排实战指南
运维·docker·容器
力江16 小时前
GitLab 私有化部署实战 —— 从 Omnibus 到 Docker 的踩坑之旅
docker·容器·gitlab
深念Y16 小时前
Docker 镜像体积从 110MB 降到 13MB 后端服务的瘦身
运维·docker·容器
虎王物联16 小时前
Docker容器安全加固:securityContext与seccomp在IoT边缘节点的隔离实践
物联网·安全·docker
苏三福16 小时前
ubuntu 在文件管理系统中用sftp打开远程文件空白的问题解决
linux·运维·ubuntu