докер: ответ об ошибке от демона: не удалось выбрать драйвер устройства с возможностями: [[gpu]]

Я видел похожие ступени, но они разные, потому что я использую WSL2 и докер с поддержкой докеров и графических процессоров.

У меня Windows 10 версии 2004 (сборка 20161.1000). Я установил WSL 2, и у меня работает Docker Desktop 2.3.0.3 в моей системе Windows. У меня также установлен Ubuntu 18.04 LTS в WSL 2. Я установил драйвер NVIDIA  введите описание изображения здесь

Версия для Linux - 4.19.121-microsoft-standard. Версия драйвера NVIDIA - 455.41 для моего ноутбука GPU QUADRO M2000M. На самом деле я выполнил все шаги, описанные в https://ubuntu.com/blog/getting-started-with-cuda-on-ubuntu-on-wsl-2 до этапа, на котором мне нужно запустить остановку докера службы sudo в терминале Ubuntu.

В результате появляется сообщение docker: unrecognized service.

Мне нужно перезапустить рабочий стол докера в WIndows 10, чтобы запустить демон.

Затем я тестирую в терминале 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. Я поискал на сайтах поддержки, но не нашел ничего, что решило бы мою проблему.

Кто-нибудь может мне здесь помочь?


person gorkys    schedule 05.07.2020    source источник
comment
ты нашел ответ?   -  person SantoshGupta7    schedule 27.10.2020
comment
Согласно this, вам потребуется инсайдеры строят окна Build version 20145 or higher.   -  person gnodab    schedule 24.11.2020
comment
Ознакомьтесь с документами, возможно, это может вам помочь.   -  person Maske    schedule 01.12.2020


Ответы (1)


Упоминается этот странный ответ здесь и здесь:

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.
Обратите внимание, что первая часть может потребовать перезапуска докера!

person George Ogden    schedule 01.03.2021
comment
mkdir: cannot create directory ‘/sys/fs/cgroup/systemd’: File exists mount: /sys/fs/cgroup/systemd: cgroup already mounted on /sys/fs/cgroup/systemd. DId не работает для меня. - person Aneesh Panoli; 03.03.2021
comment
Aneesh, обновил пост, так как поставил команды в неправильном порядке. Он все равно должен работать, даже если это произойдет. - person George Ogden; 03.03.2021
comment
Спасибо! Для меня это была другая проблема - отсутствует пакет nvidia-container-toolkit - person Aneesh Panoli; 04.03.2021