docker19.03+NVIDIA显卡+docker: Error response from daemon: could not select device driver "" with c

docker19.03使用NVIDIA显卡

前言

使用gpu错误:docker: Error response from daemon: could not select device driver “” with ...具体解决方案在下面有.
2019年7月的docker 19.03已经正式发布了,这次发布对我来说有两大亮点。

1,就是docker不需要root权限来启动喝运行了
2,就是支持GPU的增强功能,我们在docker里面想读取nvidia显卡再也不需要额外的安装nvidia-docker了

安装nvidia驱动

确认已检测到NVIDIA卡:

lspci -vv | grep -i nvidia

在这里插入图片描述
这里不再详细介绍:如果不知道请移步https://blog.csdn.net/BigData_Mining/article/details/99670642

安装NVIDIA Container Runtime

$ cat nvidia-container-runtime-script.sh

sudo curl -s -L https://nvidia.github.io/nvidia-container-runtime/gpgkey | \
  sudo apt-key add -
distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
sudo curl -s -L https://nvidia.github.io/nvidia-container-runtime/$distribution/nvidia-container-runtime.list | \
  sudo tee /etc/apt/sources.list.d/nvidia-container-runtime.list
sudo apt-get update
执行脚本
sh nvidia-container-runtime-script.sh
OK
deb https://nvidia.github.io/libnvidia-container/ubuntu18.04/$(ARCH) /
deb https://nvidia.github.io/nvidia-container-runtime/ubuntu18.04/$(ARCH) /
Hit:1 http://archive.canonical.com/ubuntu bionic InRelease
Get:2 https://nvidia.github.io/libnvidia-container/ubuntu18.04/amd64  InRelease [1139 B]                
Get:3 https://nvidia.github.io/nvidia-container-runtime/ubuntu18.04/amd64  InRelease [1136 B]           
Hit:4 http://security.ubuntu.com/ubuntu bionic-security InRelease                                       
Get:5 https://nvidia.github.io/libnvidia-container/ubuntu18.04/amd64  Packages [4076 B]                 
Get:6 https://nvidia.github.io/nvidia-container-runtime/ubuntu18.04/amd64  Packages [3084 B]            
Hit:7 http://us-east4-c.gce.clouds.archive.ubuntu.com/ubuntu bionic InRelease
Hit:8 http://us-east4-c.gce.clouds.archive.ubuntu.com/ubuntu bionic-updates InRelease
Hit:9 http://us-east4-c.gce.clouds.archive.ubuntu.com/ubuntu bionic-backports InRelease
Fetched 9435 B in 1s (17.8 kB/s)                   
Reading package lists... Done
安装:
$ apt-get install nvidia-container-runtime

在这里插入图片描述

查看:
which nvidia-container-runtime-hook

/usr/bin/nvidia-container-runtime-hook

安装docker-19.03

# step 1: 安装必要的一些系统工具
yum install -y yum-utils device-mapper-persistent-data lvm2
# Step 2: 添加软件源信息
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# Step 3: 更新并安装 Docker-CE
yum makecache fast
yum -y install docker-ce-19.03.2
# Step 4: 开启Docker服务
systemctl start docker && systemctl enable docker
验证docker版本是否安装正常
$ docker version
Client: Docker Engine - Community
 Version:           19.03.2
 API version:       1.40
 Go version:        go1.12.8
 Git commit:        6a30dfc
 Built:             Thu Aug 29 05:28:55 2019
 OS/Arch:           linux/amd64
 Experimental:      false

Server: Docker Engine - Community
 Engine:
  Version:          19.03.2
  API version:      1.40 (minimum version 1.12)
  Go version:       go1.12.8
  Git commit:       6a30dfc
  Built:            Thu Aug 29 05:27:34 2019
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          1.2.6
  GitCommit:        894b81a4b802e4eb2a91d1ce216b8817763c29fb
 runc:
  Version:          1.0.0-rc8
  GitCommit:        425e105d5a03fabd737a126ad93d62a9eeede87f
 docker-init:
  Version:          0.18.0
  GitCommit:        fec3683
验证下-gpus选项
$ docker run --help | grep -i gpus
      --gpus gpu-request               GPU devices to add to the container ('all' to pass all GPUs)

运行利用GPU的Ubuntu容器

 $ docker run -it --rm --gpus all ubuntu nvidia-smi

在这里插入图片描述

故障排除

您是否遇到以下错误消息:

$ docker run -it --rm --gpus all debian

docker: Error response from daemon: linux runtime spec devices: could not select device driver “” with capabilities: [[gpu]].

上述错误意味着Nvidia无法正确注册Docker。它实际上意味着驱动程序未正确安装在主机上。这也可能意味着安装了nvidia容器工具而无需重新启动docker守护程序:您需要重新启动docker守护程序。

我建议你回去验证是否安装了nvidia-container-runtime或者重新启动Docker守护进程。

列出GPU设备
$ docker run -it --rm --gpus all ubuntu nvidia-smi -L

在这里插入图片描述

$ docker run -it --rm --gpus all ubuntu nvidia-smi  --query-gpu=index,name,uuid,serial --format=csv

在这里插入图片描述已经验证完成,按照上述操作可以在docker里面成功的驱动nvidia显卡

  • 23
    点赞
  • 50
    收藏
    觉得还不错? 一键收藏
  • 12
    评论
Docker是一种开源的容器化平台,可以帮助开发者将应用程序和其依赖环境打包成一个独立、可移植的容器。然而,当运行Docker命令时,有时会遇到错误信息:"docker: error response from daemon: could not select device driver "" with c"。 这个错误通常是由于操作系统或Docker配置问题引起的。可能的原因和解决方法如下: 1. 操作系统不兼容:该错误可能是由于操作系统版本过低或过高导致的。请确保您使用的操作系统版本符合Docker的要求。您可以通过查看Docker官方文档或论坛来了解您的操作系统是否支持。 2. Docker配置问题:这个错误也可能是由于Docker的配置问题引起的。您可以尝试重新配置Docker,确保正确设置了Docker的驱动程序。您可以在Docker配置文件中找到有关驱动程序的设置,并按照官方文档指导进行配置。 3. 硬件驱动问题:这个错误也可能是由于硬件驱动问题引起的。如果您在某些比较特殊的硬件环境中运行Docker,可能需要额外安装或配置相关的硬件驱动。请参考硬件供应商的文档或支持资源来了解如何正确配置硬件驱动。 总结来说,错误"docker: error response from daemon: could not select device driver "" with c"通常是由于操作系统或Docker配置问题引起的。您可以通过确保操作系统兼容性、重新配置Docker或解决硬件驱动问题来解决这个错误。如果问题仍然存在,您可以参考Docker官方文档或论坛寻求进一步的支持和帮助。
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值