ubuntu下docker: Error response from daemon: could not select device driver with capabilities: [[gpu]]

这篇具有很好参考价值的文章主要介绍了ubuntu下docker: Error response from daemon: could not select device driver with capabilities: [[gpu]]。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言

第一次遇到这个问题时,是运行这个命令,报如下错误,

运行:
sudo docker run --rm --gpus=all nvidia/cuda:10.0-base


报错:
docker: Error response from daemon: could not select device driver "" with capabilities: [[gpu]].

然后我参考这篇文章docker: Error response from daemon: could not select device driver ““ with capabilities: [[gpu]]问题解决_"docker: error response from daemon: could not sel_一个菜鸟的奋斗的博客-CSDN博客通过安装nvidia-container-toolkit来解决。

但第二天又莫名其妙的遇到这个错误,网上的大部分方法我都试过,比如安装nvidia-container-toolkit 、nvidia-container-runtime这些,都没有解决我的问题。

后来我发现问题来源于/etc/docker/daemon.json文件没有配置对,应该按照如下配置(前提是安装了nvidia-container-runtime,如果没有/etc/docker/daemon.json文件就创建一个,参考这篇文章安装nvidia-container-runtimedocker: Error response from daemon: could not select device driver ““ with capabilities: [[gpu]]_stoneyshi的博客-CSDN博客_"docker: error response from daemon: could not sel

解决办法

1、安装nvidia-container-runtime

在当前目录位置创建一个脚本

vi t.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

 然后执行它

sudo bash t.sh

接着执行下面这个

sudo apt-get install nvidia-container-runtime

 2、配置/etc/docker/daemon.json文件

sudo vi /etc/docker/daemon.json

把下面内容复制进去 

(注意:path后的路径是绝对路径,不能只写nvidia-container-runtime)


{
    "default-runtime": "nvidia",
    "runtimes": {
        "nvidia": {
            "path": "/usr/bin/nvidia-container-runtime",
            "runtimeArgs": []
        }
    }
}

3、然后运行这个命令重启Docker就解决啦!

sudo systemctl restart docker

我连续遇到了3次这个报错docker: Error response from daemon: could not select device driver with capabilities: [[gpu]],每次解决办法都不一样,可以说有点经验了。

 1、首先,检查docker是否正确安装,用下面命令

sudo docker version

         如果显示这样的就说明是docker是安装对的,有nvidia那个部分就说明--gpus all选项是能用的,就不会报错docker: Error response from daemon: could not select device driver with capabilities: [[gpu]]。

 

        如果must have 部分没有说明docker没安装好,最好卸载了重装,如果有的GitCommit:后面是空的,也说明docker没装好 ,比如

runc:
    version:    1.12.0
    GitCommit: 

        建议直接去下载最新版的docker,安装docker可以参考Ubuntu Docker 安装 | 菜鸟教程

2、无法使用--gpus=all 选项来运行Docker容器。

        可能是因为    NVIDIA驱动程序没有正常安装  、  NVIDIA-container-runtime或NVIDIA-container-toolkit没有正常安装或配置 。

        有的说是NVIDIA驱动程序与docker版本不兼容,我觉得只要你的NVIDIA驱动程序是近2年安装的,都不用考虑这个问题。

        使用下面命令检查NVIDIA驱动程序是否正常安装

nvidia-smi

        能看到这样的东西出现,就说明NVIDIA驱动程序正常安装及运行。

         NVIDIA-container-toolkit和 NVIDIA-container-runtime只要是参考上面前言里的两篇博客安装的就没有问题。

3、检查下docker daemon是否正在使用nvidia驱动程序。

         可以使用下面命令来验证docker daemon是否正在使用nvidia驱动程序,

sudo docker info |grep -i nvidia

        如果显示"nvidia:yes"或者有其他正常显示,就说明docker daemon正在使用nvidia驱动程序,这个时候使用--gpus=all选项是不会报错的。

        如果显示的是WARNING:No swap limit support或者什么都没显示,就说明是nvidia驱动程序没有被docker daemon使用,这个时候有点麻烦,可能是因为/etc/docker/daemon.json配置文件没配置对,也可能是docker没安装好。

        我之前遇到的就是docker没安装好,导致前一天是好的,第二天使用--gpus=all去运行容器又报错docker: Error response from daemon: could not select device driver with capabilities: [[gpu]],这种情况下只需要重新安装docker最新版就可以了。
        

        PS:Docker daemon 是Docker的守护进程,docker安装后默认没有daemon.json这个配置文件,需要进行手动创建(手动创建时前面最好加上sudo,以root身份创建)。配置文件的默认路径:/etc/docker/daemon.json  。 

        如果在daemon.json文件中进行配置,需要docker版本高于1.12.6(在这个版本上不生效,1.13.1以上是生效的)。

        当我们需要对docker服务进行调整配置时,不用去修改主文件 docker.service的参数,可以通过daemon.json配置文件来管理。文章来源地址https://www.toymoban.com/news/detail-788157.html

到了这里,关于ubuntu下docker: Error response from daemon: could not select device driver with capabilities: [[gpu]]的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包