从主机窗口在Docker中的ubuntu上获得nvidia驱动程序支持-'在系统上未找到NVIDIA驱动程序'错误

时间:2020-08-26 15:01:54

标签: docker ubuntu nvidia virtualization

我建立了一个docker映像:ubuntu20.04 + py38 +火炬,各种库(llvmlite,cuda,pyyaml等)+我的flask应用程序。该应用使用炬管,并且需要在容器内安装nvidia驱动程序。主机是win10 x64。

运行容器并使用邮递员对其进行测试时,出现错误:

<head>
    <title>AssertionError:
        Found no NVIDIA driver on your system. Please check that you
        have an NVIDIA GPU and installed a driver from
        http://www.nvidia.com/Download/index.aspx // Werkzeug Debugger</title>

在我的计算机上,nvidia-smi是:

+-----------------------------------------------------------------------------+
| NVIDIA-SMI 442.92       Driver Version: 442.92       CUDA Version: 10.2     |
|-------------------------------+----------------------+----------------------+
| GPU  Name            TCC/WDDM | Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|===============================+======================+======================|
|   0  GeForce GTX 166... WDDM  | 00000000:01:00.0 Off |                  N/A |
| N/A   40C    P8     3W /  N/A |    382MiB /  6144MiB |      0%      Default |
+-------------------------------+----------------------+----------------------+

+-----------------------------------------------------------------------------+
| Processes:                                                       GPU Memory |
|  GPU       PID   Type   Process name                             Usage      |
|=============================================================================|
|    0      6212    C+G   ...ta\Local\Postman\app-7.31.0\Postman.exe N/A      |
|    0      6752    C+G   ...are\Brave-Browser\Application\brave.exe N/A      |
+-----------------------------------------------------------------------------+

在SO上已经问了很多遍了,传统答案是nvidia不支持从Linux docker容器上的Windows进行gpu加速。

我找到了类似的答案。我已阅读question和对this question的答复。但是这些解决方案涉及主机ubuntu +内含ubuntu的docker映像。

this link指导如何使用nvidia-docker2,但根据this answer

,已弃用nvidia-docker2。

official nvidia-docker存储库中有说明-但仅适用于Linux主机。

但是在docker(后端linux)软件上也安装了此WSL-可以使用吗?

还有没有办法让ubuntu容器在主机Windows机器上使用nvidia gpu?

1 个答案:

答案 0 :(得分:1)

看来您现在可以在Linux版Windows子系统(WSL 2)的Ubuntu中运行Docker并通过GPU进行操作了。

此链接贯穿安装,设置和运行具有GPU支持的TensorFlow Jupyter笔记本: https://ubuntu.com/blog/getting-started-with-cuda-on-ubuntu-on-wsl-2

注意-我自己还没有做。