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.shsudo 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
docker gpu报错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 select device driver "" with capabilities: [ ...
- Debug docker: docker: Error response from daemon: could not select device driver ““ with capabilitie
报错信息 docker: Error response from daemon: could not select device driver "" with capabiliti ...
- 解决 docker exec 报错 Error response from daemon: Container XXXXX is not running
docker exec 报错 Error response from daemon: Container XXXXX is not running 解决思路 XXXXX 为报错容器id 问题描述 废话 ...
- Ubuntu18.04报错解决方案:could not select device driver ““ with capabilities: [[gpu]]
Docker容器: Docker容器将一个软件包在一个完整的文件系统中,该文件系统包含运行所需要的一切:代码,运行时,系统工具,系统库等任何可以安装在服务器上的东西.这保证了软件无论其环境如何,都将始 ...
- Docker 报错Error response from daemon: Get https://xx.xx.xx.xx/v2/: Service Unavailable
问题 Mac 上docker pull是报错Error response from daemon: Get https://xx.xx.xx.xx/v2/: Service Unavailable 执 ...
- docker报错Error response from daemon: Get https://registry-1.docker.io/v2/: x509
docker报错 Error response from daemon: Get https://registry-1.docker.io/v2/: x509: certificate has exp ...
- mac上docker pull是报错Error response from daemon: Get https://xx.xx.xx.xx/v2/: Service Unavailable
执行docker pull xx.xx.xx.xx/xx/xx,下载私有库的镜像时报错如下: Error response from daemon: Get https://xx.xx.xx.xx/v ...
- docker 删除镜像image报错 Error response from daemon: conflict: unable to remove repository reference
我在删除nginx镜像报错, 报错信息如下: Error response from daemon: conflict: unable to remove repository reference & ...
- docker-Login 报错 Error response from daemon
docker login 报错: Error response from daemon: Get https://IP/v2/: http: server gave HTTP response to ...
最新文章
- 家用电器用户行为分析与事件识别_用户行为分析系统
- C# 跨线程赋值的简单做法
- mysqld:表mysql.plugin不存在_PostgreSQL 12.0 表操作
- Android SO逆向1-ARM介绍
- android xml 删除控件,android-cordova插件rm cordova-plugin-whitelist不会更改config.xml,因此在构建时将被读取...
- Selenium两万字大题库
- C#中的类型转换大总结
- 作者:刘勇,山东农业大学教授、博士生导师。
- 数据中心节能制冷---冷却塔帮忙
- Sps的content menu 和 smart-tag的问题
- SpringBoot写后端接口,看这一篇就够了!
- 解决Navicat for MySQL 连接 Mysql 8.0.13出现1251- Client does not support authentication protocol 错误
- Java实现计算器的基本功能
- 【联想拯救者R7000】安装nvidia驱动Perform MOK management 界面键盘失灵现象(已解决)
- 【python办公自动化(17)】利用python向PPT文档中写入内容(证书生成器)
- gtx 750 linux驱动下载,Ubuntu 12.04安装NVIDIA GTX750显卡驱动
- 商品销售数据建模及分析
- A15处理器和m1哪个好
- 怎样将PDF水印删除 PDF删除水印的小技巧
- 2020年华东师大研究生机试题