首页 > 解决方案 > docker:来自守护进程的错误响应:无法选择设备驱动程序“”具有功能:[[gpu]]

问题描述

我看到了类似的踏板,但它们不同,因为我使用的是 WSL2 和 docker 以及 GPU 感知 docker。

我有 Windows 10 版本 2004 (build 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。我搜索了支持站点,但找不到任何可以解决我问题的东西。

有人能帮我一下吗?

标签: dockerubuntuwsl-2

解决方案


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

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!


推荐阅读