当前位置: 首页 > news >正文

ubuntu中的docker记录(3)——如何安装nvidia-docker以更好地支持GPU加速计算应用程序的运行

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 前言
  • 一、nvidia-docker2的安装
    • 1. 安装docker
    • 2. 安装nvidia-docker2
      • (1) 添加密钥
      • (2) 更新软件列表
      • (3) 安装nvidia-docker2
      • (4) 测试nvidia-docker2
  • 二、可能的报错及解决
    • 1 . 报错一
      • (1) 原因分析
      • (2) 解决方法
  • 总结


前言

nvidia-docker2与普通的Docker相比,主要区别在于对GPU资源的支持。nvidia-docker2专门设计用于在Docker容器中管理和访问NVIDIA GPU资源,可以更好地支持GPU加速计算应用程序的运行,提高GPU资源的利用率和性能。普通的Docker则主要用于应用程序的快速部署和管理,并不具备对GPU资源的特殊支持。因此,如果你需要在Docker容器中运行需要GPU加速的应用程序,nvidia-docker2是更为合适的选择。

一、nvidia-docker2的安装

:nvidia-docker在安装前,必须先安装好docker和英伟达的驱动(根据自己的显卡型号来装驱动的版本),还没安装普通docker的小伙伴可以参考一下我这篇博客的教程:
ubuntu中的docker记录(1)—— 如何在Ubuntu中安装和运行docker

1. 安装docker

如果没有安装过docker,这里提供一个便捷安装docker的魔法操作,执行以下脚本,进行安装:

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

安装结束后,查看Docker版本:

docker --version

如果上述的魔法不能安装成功,可以手动进行安装,可以参考我上面提供的博客链接。

2. 安装nvidia-docker2

(1) 添加密钥

distribution=$(. /etc/os-release;echo $ID$VERSION_ID) \&& curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add - \&& curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list

(2) 更新软件列表

sudo apt-get update

(3) 安装nvidia-docker2

sudo apt-get install -y nvidia-docker2

(4) 测试nvidia-docker2

注意:下面的指令,Cuda的版本号根据自己安装的版本来定。

docker run --runtime=nvidia --rm nvidia/cuda:11.2-base nvidia-smi

注意:如果安装的是nvidia-docker,则测试命令为:

sudo docker run --rm --gpus all nvidia/cuda:11.2.2-base nvidia-smi   

本地已有的nvidia/cuda:11.2.2-base镜像都可以。

二、可能的报错及解决

1 . 报错一

执行上述的运行镜像的指令时,可能会出现报错:

在这里插入图片描述

(1) 原因分析

可以从远程docker hub中拉取镜像,但是cuda的版本和本机安装的不一样。

(2) 解决方法

查看本机的cuda版本,拉取对应的nvidia/cuda镜像进行测试。
1) 查看cuda的版本和GPU的信息:

终端输入:nvidia-smi

cuda的版本和GPU的信息如下所示:

在这里插入图片描述

2)执行测试的命令,其中的cuda为自己电脑对应的版本:

docker run --runtime=nvidia --rm nvidia/cuda:11.2.2-base nvidia-smi

出现如下页面,表示安装nvidia-docker成功:

在这里插入图片描述

总结

以上就是nvidia-docker的全部安装教程,详细介绍了如何在自己的系统上成功安装nvidia-docker,以便更好地管理和访问NVIDIA GPU资源。可以使用GPU加速计算应用程序提供更好的性能和效率。希望这份Docker安装教程对你有所帮助,有任何疑问可以评论区讨论交流。

http://www.lryc.cn/news/341742.html

相关文章:

  • MLP实现fashion_mnist数据集分类(1)-模型构建、训练、保存与加载(tensorflow)
  • ChatGPT-税收支持新质生产力
  • Linux下深度学习虚拟环境的搭建与模型训练
  • Map-Reduce是个什么东东?
  • 上位机工作感想-从C#到Qt的转变-2
  • 【C++】C++ 中 的 lambda 表达式(匿名函数)
  • OpenSSL实现AES-CBC加解密,可一次性加解密任意长度的明文字符串或字节流(QT C++环境)
  • cURL:命令行下的网络工具
  • Baumer工业相机堡盟工业相机如何通过NEOAPISDK查询和轮询相机设备事件函数(C#)
  • Day45代码随想录动态规划part07:70. 爬楼梯(进阶版)、322. 零钱兑换、279.完全平方数、139.单词拆分
  • 土壤重金属含量分布、Cd镉含量、Cr、Pb、Cu、Zn、As和Hg、土壤采样点、土壤类型分布
  • 力扣:100284. 有效单词(Java)
  • 如何快速掌握DDT数据驱动测试?
  • OpenCV如何实现背投(58)
  • 5-在Linux上部署各类软件
  • 【Jenkins】持续集成与交付 (八):Jenkins凭证管理(实现使用 SSH 、HTTP克隆Gitlab代码)
  • 开源模型应用落地-CodeQwen模型小试-SQL专家测试(二)
  • Arch Linux安装macOS
  • 接口自动化框架篇:Pytest + Allure报告企业定制化实现!
  • 保持 Hiti 证卡打印机清洁的重要性和推荐的清洁用品
  • Unity C#的底层原理概述
  • 国产数据库的发展势不可挡
  • 权益商城系统源码 现支持多种支付方式
  • python安装问题及解决办法(pip不是内部或外部命令也不是可运行)
  • Json高效处理方法
  • 若依分离版-前端使用echarts组件
  • android native开发
  • Partisia Blockchain 生态zk跨链DEX上线,加密资产将无缝转移
  • Vue3组合式API + TS项目中手写国际化插件
  • 深入解析Jackson的ObjectMapper:核心功能与方法指南