docker:来自守护进程的错误响应:无法选择具有以下功能的设备驱动程序“”:[[gpu]]

gor*_*kys 6 ubuntu docker wsl-2

我看到了类似的步骤,但它们不同,因为我使用的是 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 中描述的所有步骤,直到我必须在其中运行“sudo service docker stop”的步骤一个 Ubuntu 终端。

这会导致消息 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]]

这涉及到微软、Ubuntu、NVIDIA。我搜索了支持站点,但找不到任何解决我问题的方法。

有人能帮我一下吗?

Geo*_*den 1

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

sudo service docker start
sudo mkdir /sys/fs/cgroup/systemd
sudo mount -t cgroup -o none,name=systemd cgroup /sys/fs/cgroup/systemd
Run Code Online (Sandbox Code Playgroud)

这在 WSL (Ubuntu 20.04) 上对我有用,所以我将其添加到~/.bashrc脚本中。
注意,第一部分可能需要重新启动 docker!

  • 谢谢!对我来说,这是一个不同的问题 - 缺少软件包“nvidia-container-toolkit” (3认同)