Ubuntu NVIDIA-Docker安装

news2025/3/9 22:39:04

Ubuntu NVIDIA-Docker安装

  • Docker简介
  • NVIDIA驱动安装
  • NVIDIA-Docker安装

系统环境:
系统:linux
版本:ubuntu20.04

Docker简介

Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows操作系统的机器上,也可以实现虚拟化。NVIDIA 改进了原始的Docker,便于容器使用NVIDIA GPU。由于仿真环境的配置需要安装很多库,对于新手不太友好,因此我们提供了Docker镜像,便于开发者使用。尽管Docker理论上适配多种操作系统,但由于后续算法开发仍建议在本地进行,因此操作系统仍需使用Ubuntu。

NVIDIA驱动安装

nvidia-docker需要宿主机已经安装nvidia驱动,为了与镜像的驱动版本保持一致,开发者需要安装470版本,以下安装方式的前提是之前没有安装或是通过apt安装的nvidia驱动。如果之前是其他方法安装的驱动,要根据具体情况更改驱动版本。

安装 nvidia-driver-470 指令

sudo apt install nvidia-driver-470

查看GPU型号
在这里插入图片描述

jk-jone@JKKC:~$ lspci | grep -i nvidia
01:00.0 3D controller: NVIDIA Corporation Device 1f9c (rev a1)

查看当前NVIDIA驱动版本

sudo dpkg --list | grep nvidia-*
或者
cat /proc/driver/nvidia/version

在这里插入图片描述

jk-jone@JKKC:~$ sudo dpkg --list | grep nvidia-*
jk-jone@JKKC:~$

在这里插入图片描述

jk-jone@JKKC:~$ cat /proc/driver/nvidia/version
cat: /proc/driver/nvidia/version: 没有那个文件或目录

像这样则表示没有安装NVIDIA驱动

sudo apt install nvidia-driver-470

用这个装就行了

安装过程会有进度条

看到这个表示安装成功
在这里插入图片描述

NVIDIA-Docker安装

之后安装nvidia-docker

curl https://get.docker.com | sh   && sudo systemctl --now enable docker

在这里插入图片描述

distribution=$(. /etc/os-release;echo $ID$VERSION_ID) \
      && curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg \
      && curl -s -L https://nvidia.github.io/libnvidia-container/$distribution/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

在这里插入图片描述

sudo apt-get update
sudo apt-get install -y nvidia-docker2
sudo systemctl restart docker

通过运行如下命令测试Docker使用安装成功

sudo docker run --rm --gpus all nvidia/cuda:11.0.3-base-ubuntu20.04 nvidia-smi

在这里插入图片描述

docker: Error response from daemon: failed to create shim task: OCI runtime create failed: runc create failed: unable to start container process: error during container init: error running hook #0: error running hook: exit status 1, stdout: , stderr: Auto-detected mode as ‘legacy’
nvidia-container-cli: initialization error: nvml error: driver not loaded: unknown.

出现了这个问题

翻了很多帖子,最后在github上 NVIDIA/nvidia-docker/issues/1648 找到答案。

是gpu的持久模式(nvidia-persistenced daemon)并未开启。

nvidia-smi

查询显卡资源的时候
报错
在这里插入图片描述

jk-jone@JKKC:~$ nvidia-smi -a
NVIDIA-SMI has failed because it couldn’t communicate with the NVIDIA driver. Make sure that the latest NVIDIA driver is installed and running.

可能是内核版本更新的问题,导致新版本内核和原来显卡驱动不匹配

查看已安装内核
在这里插入图片描述

jk-jone@JKKC:~$ dpkg --get-selections |grep linux-image
linux-image-5.14.0-1051-oem deinstall
linux-image-5.14.0-1054-oem deinstall
linux-image-5.14.0-1058-oem install
linux-image-5.14.0-1059-oem install
linux-image-oem-20.04 install

查看正在使用的内核

uname -a

在这里插入图片描述

jk-jone@JKKC:~$ uname -a
Linux JKKC 5.14.0-1059-oem #67-Ubuntu SMP Mon Mar 13 14:22:10 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux

显示为 5.14.0-1059

不知道安装nvidia驱动时的内核版本

不知道是不是不匹配造成的

只需执行两条命令就好

sudo apt-get install dkms

查看驱动版本

ls /usr/src | grep nvidia

在这里插入图片描述

jk-jone@JKKC:~$ ls /usr/src | grep nvidia
nvidia-470.182.03

sudo dkms install -m nvidia -v 470.182.03470.182.03表示的是驱动版本号)

jk-jone@JKKC:~$ sudo dkms install -m nvidia -v 470.182.03
Module nvidia/470.182.03 already installed on kernel 5.14.0-1059-oem/x86_64
在这里插入图片描述
所以不是内核不匹配造成的

重启下电脑试试
呵呵,画面出来了
在这里插入图片描述

nvidia-smi -a

查询自己的 Persistence Mode 是否开启

在这里插入图片描述
果然 Persistence Mode 为 Disabled

使用root权限执行如下命令:
nvidia-smi -pm ENABLED

再次用下面的命令,来查看Docker是否安装成功

sudo docker run --rm --gpus all nvidia/cuda:11.0.3-base-ubuntu20.04 nvidia-smi
Wed Apr 12 02:47:12 2023       
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 470.182.03   Driver Version: 470.182.03   CUDA Version: 11.4     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|                               |                      |               MIG M. |
|===============================+======================+======================|
|   0  NVIDIA GeForce ...  Off  | 00000000:01:00.0 Off |                  N/A |
| N/A   50C    P8    N/A /  N/A |      9MiB /  1878MiB |      0%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+
                                                                               
+-----------------------------------------------------------------------------+
| Processes:                                                                  |
|  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
|        ID   ID                                                   Usage      |
|=============================================================================|
+-----------------------------------------------------------------------------+

出现这个就成功了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/433625.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

WebRTC真实IP泄露

WebRTC真实IP泄露 1.概述2.利用漏洞获取真实IP地址演示3.WebRTC介绍4.WebRTC 泄漏真实IP原理5.防范措施 1.概述 很多人可能误以为使用代理就可以完全隐藏我们的真实IP地址,但实际并不总是这样。事实上,有大量文章指出,WebRTC存在安全风险&am…

零项目零科研,本科排名倒数,一战上岸上海交大电子与通信工程

笔者来自通信考研小马哥23上交819全程班学员 本科就读于哈工大(威海),本科成绩很差,专业排名62/99,没有科研,没有实验室,没有项目,连最基本大家都会参加的科技立项我四年也没有参与…

幽灵空白节点

图片下面为什么会有空白间隙呢&#xff1f;因为内联元素默认都是和 a 的下边缘基线对齐&#xff0c;基线和底部是有一段距离的&#xff0c;所以图片下面有一段间隙。 <style>.container {background-color: red;}img {width: 100px;height: 100px;} </style><d…

误删恢复及备份恢复

误删恢复&#xff0c;及备份恢复 一、误删恢复1.1用losf恢复进程存在的文件1.2恢复EXT类型的文件 二、备份恢复的集中方式2.1用xfsdump&#xff0c;xfsrestore对xfs类型文件进行备份恢复2.2用cpio命令备份恢复2.2.1通过find过滤文件进行备份 一、误删恢复 1.1用losf恢复进程存…

自然语言处理实战项目4-文本相似度的搜索功能,搜索文本内容

大家好&#xff0c;我是微学AI&#xff0c;今天给大家带来自然语言处理实战项目4-文本相似度的搜索功能&#xff0c;搜索文本内容。文本相似度搜索是一种基于自然语言处理技术&#xff0c;用于搜索和匹配文本内容的方法。其主要目的是将用户输入的查询内容与已有的文本数据进行…

c盘满了怎么清理垃圾而不误删?C盘清理,4个方法!

案例&#xff1a;c盘满了怎么清理垃圾而不误删 【我的c盘现在已经爆红了&#xff01;想清理下c盘的文件&#xff0c;但是害怕误删重要的文件&#xff0c;应该怎么做才能清理c盘但不误删重要的文件呀&#xff01;急需答案&#xff01;】 随着时间的推移&#xff0c;c盘可能会因…

游戏服务器如何搭建

无论是游戏公司还是游戏爱好者&#xff0c;游戏服务器都是不可或缺的一部分。游戏服务器承载着游戏的运行和体验&#xff0c;是在所有玩家之间建立连接的纽带。如果你想了解如何搭建游戏服务器以及相关的配置要求&#xff0c;那么本文是无法错过的。在本文中小编将为您介绍如何…

Nginx安装注意事项

一.看你是什么系统,先从官网下载你想要的版本 二.windows系统 直接解压就行了 conf 是放配置文件的地方 html是 放页面的位置 ,欢迎页也在这里 有什么静态资源也可以放这里 logs 放日志文件 在路径栏位置直接cmd 开启命令窗口 注意这里是在nginx.exe文件所在目录进行的…

TOOM解析如何搭建一套适合自己的舆情监测系统?完整的实战指南

随着互联网的普及和社交媒体的盛行&#xff0c;人们在网络上的活动越来越多&#xff0c;同时也涌现出大量的信息和舆情。这些信息和舆情在一定程度上会影响社会和个人的发展和进步。因此&#xff0c;舆情监测逐渐成为一项重要的任务。在本篇文章中&#xff0c;我们将为大家介绍…

Adobe国际认证中文官网

Adobe国际认证中文官网是Adobe公司为了帮助用户提高技能水平和职业竞争力而推出的认证服务。该官网提供了一系列的Adobe认证考试&#xff0c;包括Photoshop、Illustrator、InDesign、Premiere Pro等多个软件的认证考试。通过参加这些考试&#xff0c;用户可以获得Adobe认证&…

ASEMI代理ADG5412BRUZ-REEL7原装ADI车规级ADG5412BRUZ-REEL7

编辑&#xff1a;ll ASEMI代理ADG5412BRUZ-REEL7原装ADI车规级ADG5412BRUZ-REEL7 型号&#xff1a;ADG5412BRUZ-REEL7 品牌&#xff1a;ADI/亚德诺 封装&#xff1a;TSSOP-16 批号&#xff1a;2023 引脚数量&#xff1a;5 安装类型&#xff1a;表面贴装型 ADG5412BRUZ-…

《花雕学AI》你知道人工智能ChatGPT在10秒钟里能写出多少种标题吗?我试了24次,惊呆了!

今天准备测试AI绘画&#xff0c;使用几个不同的AI平台来生成猫娘图片&#xff0c;以此具体学习绘图的AI咒语。这篇博客用什么标题好呢&#xff1f;于是&#xff0c;我开始关心如何优化标题&#xff0c;还是老办法&#xff0c;不懂就问ChatGPT&#xff08;没有正式账号&#xff…

PHP实现输入英文语句统计单词数量,使用函数随机获取数组的最小值和最大值这两个程序的代码

目录 前言 一、输入英文语句&#xff0c;统计单词数量 1.1运行流程&#xff08;思想&#xff09; 1.2代码段 1.3运行截图 二、使用函数随机获取数组的最小值和最大值 2.1运行流程&#xff08;思想&#xff09; 2.2代码段 2.3运行截图 前言 1.因多重原因&#xff0c;本…

WordPress安装

目标 在一台 CentOS Stream release 8 虚拟机上&#xff0c;安装一台WordPress 6.2 安装过程 安装依赖组件 依赖组件可以参考官方文档&#xff1a;https://developer.wordpress.org/advanced-administration/before-install/ 主要有3个组件&#xff1a; PHP 7.4 or greate…

爬虫为什么需要多线程

多线程爬虫是一种同时运行多个线程来提高爬取速度的爬虫方式。通过将大量的工作分配给不同的线程&#xff0c;可以减少爬虫的运行时间&#xff0c;提高效率。不过需要注意的是&#xff0c;在爬取过程中需要合理的管理线程数&#xff0c;以避免对被爬取的网站造成过大的负荷。 …

再聊 MySQL 聚簇索引

为什么是再次理解呢&#xff1f;因为松哥之前写过相关的文章介绍过聚簇索引&#xff0c;但是感觉还不够&#xff0c;因此今天想再来和小伙伴们聊一聊这个话题。 1. 什么是聚簇索引 数据库的索引从不同的角度可以划分成不同的类型&#xff0c;聚簇索引便是其中一种。 聚簇索引…

家用洗地机怎么选?洗地机选购技巧分享

洗地机是一种专业的清洁设备&#xff0c;广泛应用于商业和工业领域。它可以有效地清洗和护理各种硬表面地板&#xff0c;如混凝土、大理石、瓷砖和木地板等。洗地机不仅能够提高清洁效率&#xff0c;还可以使地面更加卫生、美观和持久。而且大部分洗地机还拥有一键自清洁、除菌…

为什么企业都需要搭建搭建一个内部知识库?

企业内部知识管理是指企业通过各种手段收集、整理、管理和传播企业内部的知识&#xff0c;以提高企业的竞争力和创新能力。在实践中&#xff0c;企业内部知识管理往往需要建立一个内部知识库&#xff0c;以更好地实现知识的共享和管理。本文将从以下几个方面探讨为什么企业内部…

华为豪气分红720亿,持股员工人均超50万?

当有的公司还在因为各种原因裁员的时候&#xff0c;有的公司已经要分红了。 最近&#xff0c;华为在内部论坛“心声社区”公布&#xff0c;经华为公司内部有权机构决议&#xff0c;拟向股东分配股利人民币 719.55 亿元。相比 2021 年分红总额 614.04 亿元&#xff0c;同比增加…

centos8与centos7对比

♥️作者&#xff1a;小刘在C站 ♥️个人主页&#xff1a;小刘主页 ♥️每天分享云计算网络运维课堂笔记&#xff0c;努力不一定有收获&#xff0c;但一定会有收获加油&#xff01;一起努力&#xff0c;共赴美好人生&#xff01; ♥️夕阳下&#xff0c;是最美的绽放&#xff0…