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

Docker-Nvidia(NVIDIA Container Toolkit)

安装NVIDIA Container Toolkit工具,支持docker使用GPU

目录

  • 1.NVIDIA Container Toolkit 安装
    • 1.1 nvidia-docker安装
    • 1.2 验证
    • 1.2.1 验证安装
      • 1.2.2 额外补充

1.NVIDIA Container Toolkit 安装

1.1 nvidia-docker安装

NVIDIA/nvidia-docker

Installing the NVIDIA Container Toolkit - 官方文档

此处使用官方文档所述的apt安装方法(Installing with Apt),其余方法见官方文档:
step1:Configure the production repository:

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/stable/deb/nvidia-container-toolkit.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

Optionally, configure the repository to use experimental packages:

sed -i -e '/experimental/ s/^#//g' /etc/apt/sources.list.d/nvidia-container-toolkit.list

step2:Update the packages list from the repository:

sudo apt-get update

step3:Install the NVIDIA Container Toolkit packages:

sudo apt-get install -y nvidia-container-toolkit

1.2 验证

1.2.1 验证安装

  • 优秀参考文章
    1.Docker和Nvidia-docker的安装、测试,及运行GUI应用

  • 启动Docker:

systemctl start docker
systemctl enable docker
  • 检查是否安装成功:
sudo docker version

nvidia给的测试镜像nvidia-docker2,
安装nvidia-docker,重启docker服务:

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

载入一个镜像测试:

sudo docker pull nvidia/cuda:10.0-base nvidia-smi

如果出现下图,则nvidia-docker安装成功:
在这里插入图片描述

创建容器:

# 基于cuda10.0的镜像创建一个名为Shrimp_ball的容器
sudo docker run -idt --name Shrimp_ball --gpus all --shm-size 16G nvidia/cuda:10.0-base

这里有三个重要的参数:
–name: 容器的名称
–gpus: gpu编号,可以通过nvidia-smi查询,不启用gpu可以不写该参数,启用所有gpu可以用all
–shm-size: 共享内存的大小,即为容器中内存的大小,可按照自己的需求进行调节

新建一个容器测试一下:

sudo docker run -it --name test_nvidia_docker --gpus all nvidia/cuda:11.0-base

其中最后的参数是nvidia/cuda:11.0-base是根据我的cuda版本设置的参数,具体可以根据工作站主机的cuda版本进行修改,版本查看旧用nvcc -V查看。

进入容器之后可以跑一下nvidia-smi查看到显卡的驱动,然后就可以在docker里正常使用GPU了。

  • Error response from daemon: manifest for nvidia/cuda:latest not found: manifest unknown: manifest unknown 错误解决

Docker Hub中的CUDA, CUDAGL和OPENGL镜像已经弃用"latest"标签,可以直接使用:docker pull nvidia/cuda 或者在Dockerfile中指定:FROM nvidia/cuda:latest 都会出现Error response from daemon: manifest for nvidia/cuda:latest not found: manifest unknown: manifest unknown

解决方法:
在supported-tags中找到与自己系统对应的cuda版本,并将nvidia/cuda:latest中的latest改成对应的版本
在这里插入图片描述
如:Error response from daemon

优秀参考资料:
1.docker学习笔记(9):nvidia-docker安装、部署与使用

1.2.2 额外补充

  • 拉取Nvidia/cuda官方镜像:docker pull nvidia/cuda:10.0-base
    NVIDIA官方提供的docker镜像nvidia/cuda,里面已经编译安装了cuda,但需完善并安装cudnn.注意:这里的cuda版本要跟宿主机显卡驱动匹配.(本次安装的版本是cuda10.0)

  • 生成容器:nvidia-docker run -it --runtime=nvidia -v /宿主机绝对路径目录:/容器内目录 --name 容器名 镜像名 /bin/bash

创建镜像完毕后,进入镜像,输入nvidia-smi,如果输出下图中绿框内的指令,则表明自己的cuda容器创建成功。

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

相关文章:

  • Mongodb 3.6 数据恢复操作
  • C++ | Leetcode C++题解之第238题除自身以外数组的乘积
  • 挂耳式蓝牙耳机什么牌子好?这五款综合表现遥遥领先
  • 防火墙-NAT策略和智能选路
  • 一键优雅为Ubuntu20.04服务器挂载新磁盘
  • 踩坑日记 | 记一次流程图问题排查
  • 数据建设实践之大数据平台(四)安装mysql
  • MongoDB常用命令大全,概述、备份恢复
  • uni-app 保存号码到通讯录
  • Jetson-AGX-Orin gstreamer+rtmp+http-flv 推拉流
  • ES证书过期替换方案
  • 计算机网络——网络层(IP地址与MAC地址、地址解析协议ARP、IP数据报格式以及转发分组、ICMP、IPV6)
  • 音视频入门基础:H.264专题(13)——FFmpeg源码中通过SPS属性获取视频色彩格式的实现
  • WEB前端05-JavaScrip基本对象
  • 新手教学系列——简单的服务配置项集中管理
  • 《0基础》学习Python——第十三讲__面向对象
  • 前端JS特效第42波:纯CSS实现的卡片切换效果
  • 2.10、matlab中字符、数字、矩阵、字符串和元胞合并为字符串并将字符串以不同格式写入读出excel
  • 中文科技核心论文发表
  • 使用 Flask 3 搭建问答平台(一):项目结构搭建
  • 力扣经典题目之->用队列实现栈 的详细讲解和实现,看这一篇就够了!
  • [JS]认识feach
  • tomcat如何进行调优?
  • 复现GMM文章(一):图1代码和数据
  • 链接追踪系列-07.logstash安装json_lines插件
  • 火山引擎数据飞轮实践:在电商场景中,如何建设全链路数据血缘?
  • 使用加密软件对企业来说有什么好处
  • STM32入门开发操作记录(二)——LED与蜂鸣器
  • n3.平滑升级和回滚
  • C#WPF DialogHost.Show 弹出对话框并返回数据