docker:来自守护进程的错误响应:无法选择设备驱动程序“”具有功能:[[gpu]]
Posted
技术标签:
【中文标题】docker:来自守护进程的错误响应:无法选择设备驱动程序“”具有功能:[[gpu]]【英文标题】:docker: Error response from daemon: could not select device driver "" with capabilities: [[gpu]] 【发布时间】:2020-10-25 22:31:21 【问题描述】:我看到了类似的胎面,但它们不同,因为我使用的是 WSL2 和 docker 以及 GPU 感知 docker。
我有 Windows 10 版本 2004(内部版本 20161.1000) 我已经安装了 WSL 2 并在我的 Windows 系统上运行了 Docker Desktop 2.3.0.3。 我也在 WSL 2 中安装了 Ubuntu 18.04 LTS。 我已经安装了 NVIDIA 驱动
Linux 版本是 4.19.121-microsoft-standard。 我的笔记本电脑 GPU QUADRO M2000M 的 NVIDIA 驱动程序版本是 455.41。 实际上,我遵循了https://ubuntu.com/blog/getting-started-with-cuda-on-ubuntu-on-wsl-2 中描述的所有步骤,直到我必须在 Ubuntu 终端中运行“sudo service docker stop”的步骤。
这会导致消息 docker: unrecognized service。
我必须在 WIndows 10 中重新启动 docker 桌面才能运行守护程序。
然后我在 Ubuntu 终端中测试: docker run hello-world ==> 这运行良好 此外,命令 docker run -it ubuntu bash ==> 在 Ubuntu 终端 os WSL 2 中运行文件。
但是当我跑步时: docker run -u $(id -u):$(id -g) -it --gpus all -p 8888:8888 tensorflow/tensorflow:latest-gpu-py3-jupyter
然后我得到错误:docker:来自守护进程的错误响应:无法选择设备驱动程序“”,功能:[[gpu]]
这涉及到 microsoft、Ubuntu、NVIDIA。我已经搜索了支持网站,但找不到任何可以解决我问题的东西。
有人可以帮我吗?
【问题讨论】:
你找到答案了吗? 根据this,您必须有WindowsBuild version 20145 or higher
的内部人员构建。
检查docs可能对你有帮助。
【参考方案1】:
here和here提到了这个奇怪的答案:
sudo service docker start
sudo mkdir /sys/fs/cgroup/systemd
sudo mount -t cgroup -o none,name=systemd cgroup /sys/fs/cgroup/systemd
这在 WSL (Ubuntu 20.04) 上对我有用,所以我将它添加到 ~/.bashrc
脚本中。注意,第一部分可能需要重新启动 docker!
【讨论】:
mkdir: cannot create directory ‘/sys/fs/cgroup/systemd’: File exists mount: /sys/fs/cgroup/systemd: cgroup already mounted on /sys/fs/cgroup/systemd.
对我不起作用。
Aneesh,我已经更新了帖子,因为我把命令放在了错误的顺序上。即使发生这种情况,它仍然可以工作。
谢谢!对我来说,这是一个不同的问题 - 缺少包 nvidia-container-toolkit
以上是关于docker:来自守护进程的错误响应:无法选择设备驱动程序“”具有功能:[[gpu]]的主要内容,如果未能解决你的问题,请参考以下文章
如何修复“docker:来自守护进程的错误响应:无法链接到非运行容器:/db AS /odoo/db
来自守护进程的错误响应:无法停止容器 - 信号 init 进程导致“权限被拒绝”
Docker 抛出 FATA [0000] 来自守护进程的错误响应