【问题标题】:docker: Error response from daemon: could not select device driver "" with capabilities: [[gpu]]docker:来自守护进程的错误响应:无法选择设备驱动程序“”具有功能:[[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,您必须有Windows Build version 20145 or higher的内部人员构建。
  • 检查docs可能对你有帮助。

标签: docker ubuntu wsl-2


【解决方案1】:

herehere提到了这个奇怪的答案:

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
猜你喜欢
  • 2020-08-24
  • 1970-01-01
  • 2019-03-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-11-06
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多