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

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

Docker容器中使用Nvidia GPU报错 docker: Error response from daemon: could not select device driver “” with capabilities: [[gpu]].

问题出现

我们知道,想要在 docker19 及之后的版本中使用 nvidia gpu 已经不需要单独安装 nvidia-docker 了,这已经被集成到了 docker 中。

相必大家也知道,要使用宿主机的 GPU,需要在 docker run 的时候添加 --gpus [xxx] 参数。但是,在我们刚刚安装好 docker 并构建好镜像之后,直接这样运行是有问题的,即:

docker run -it --gpus all image_name:tag_name

会出现如题报错:

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

解决方案

实际上,我们在通过 --gpus 参数来使用宿主机的 GPU 时,需要先安装一个英伟达的容器运行时。

另外需要注意的是,这个东西是不能直接 apt install,会报找不到该软件,需要先添加英伟达的 apt 软件源。具体操作步骤如下:

1 添加源

将下面的脚本放到任意位置,

# 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

并执行:

sudo 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

2 安装

经过第一步之后,英伟达的软件源就已经添加好了,接下来直接 apt 安装就行了:

sudo apt-get install nvidia-container-runtime

安装完成后验证一下,输入:

which nvidia-container-runtime

应当得到输出:

/usr/bin/nvidia-container-runtime

这就表明该软件已经正常安装好了。

3 运行容器

安装好之后,就可以运行我们带 GPU 的容器了:

docker run -it --gpus all image_name:tag_name

此时不会报错,正常进入容器。

4 选定GPU编号

如果需要指定某个 GPU 编号,规范还是很严格的,笔者亲测下面这种格式是可以的:

docker run -it --gpus '"device=0,2"' --shm-size 32g image_name:tag_name        

Ref:

https://blog.csdn.net/BigData_Mining/article/details/104991349文章来源地址https://www.toymoban.com/news/detail-491582.html

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

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

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

相关文章

  • Ubuntu20.04开机黑屏左上角光标闪烁,以及移除Nvidia驱动后造成的无法启动docker容器问题Error response from daemon: could not select device driver "" with capabilities: [[gpu]]

        这几天系统更新,显卡驱动由525.147.05升级到了535.171.04(tested),终端运行watch -n 1 nvidia-smi 实时显示显卡占用情况时,偶尔出现 Failed to initialize NVML: Driver/library version mismatch 问题, 于是将驱动切换成open kernal版本,重启后黑屏左上角光标闪烁,于是尝试使用命令行移除

    2024年04月15日
    浏览(51)
  • docker报错Error response from daemon: Container xxx is not running

    在移植了docker后,执行了 sudo docker run --name myrosort -p 80:80 -d rosort 指令运行名为myrosort的容器,通过 sudo docker ps -a 也可以看到确实运行了 但接下来想要进入容器,执行 sudo docker start myrosort 以及 sudo docker exec -it myrosort bash 指令的以后发现报错,容器没有运行, 53e999137030b67.....

    2024年02月04日
    浏览(59)
  • Docker 启动容器报错: Error response from daemon: network XXX not found

    以上为报错信息,之前的桥接这些都是配置好的。 解决方案: 即可解决。 场景:         在做生产上线的时候,之前docker启动的gitlab,突然端口不能被访问到了,查看了对应服务器监听端口也没问题。可以ping通,telnet端口就是不通。着急上线,最后不得不重启服务器,重

    2024年02月12日
    浏览(65)
  • 【Docker报错】Error response from daemon

    打开 /etc/docker/daemon.json 文件: 写入以下内容: 重新加载配置重启docker服务 重新执行 docker container run nginx ,此时体验 如德芙巧克力般丝滑流畅 ~ 参考文章 1.Docker拉取镜像报错Error response from daemon的解决办法

    2024年02月11日
    浏览(59)
  • docker拉取jdk镜像报错:Error response from daemon: manifest for java:8 not found: manifest unknown: manifes

    docker拉取jdk镜像报错:Error response from daemon: manifest for java:8 not found: manifest unknown: manifes 后面发现原来是docker官网弃用了Java镜像,需要用其他的镜像替代,例如:openjdk8。 因此,docker拉取jdk镜像可以采用如下命令: 可以执行 docker images 展示所有镜像,看下是否存在jdk镜像:

    2024年02月04日
    浏览(67)
  • Docker获取镜像报错docker Error response from daemon

    安装docker后拉取非官方仓库镜像报错: 在等待报头时超时,请求在等待连接时被取消(客户端)。 docker 默认的源为国外官方源,下载速度较慢。 另外,docker镜像仓库不支持https。 Linux系统 修改docker镜像源,解决docker: Error response from daemon: Get https://registry-1.docker.io/v2/: net/http:

    2024年02月14日
    浏览(60)
  • [docker] Error response from daemon: reference does not exist

    1、有镜像被容器引用,删除时报错 解决: 先删除容器,然后删除镜像 2、使用 docker rmi imageId 报错 Error response from daemon: reference does not exist 参考: https://github.com/moby/moby/issues/26862

    2024年02月11日
    浏览(43)
  • docker进入容器报:Error response from daemon Container is not running

    问题说明: 根据docker所报的错,问题出现的有以下: 1、由于 docker容器未启动 。 2、 网络问题 ,网络配置修改了,但未重启网络。 3、 配置文件问题 ,文件修改过程中出错了。 一、docker容器未启动解决方法: 启动容器 操作步骤: 1.使用命令查看docker容器id:docker ps -a; 2

    2024年01月16日
    浏览(52)
  • docker删除容器时报错:Error response from daemon: reference does not exist

    前言 之前使用的docker版本太低了,升级高版本docker之后的错误。 低版本docker(1.30.1)中的镜像有:golang、mysql,将docker升级为24.0.5并新拉取mysql最新版本之后,执行docker images命令,发现有原来的的镜像 在将mysql:8.0.32镜像删除的时候docker rmi 412b8cc72e4a报错:Error response from dae

    2024年02月13日
    浏览(41)
  • 解决docker run报错:Error response from daemon: No command specified.

    将docker镜像export/import之后,对新的镜像执行docker run时报错: docker: Error response from daemon: No command specified. 方案1: 查看容器的command: 在docker run命令上增加sh -c command: 方案2: 改用save/load命令替代export/import

    2024年04月26日
    浏览(47)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包