尝试运行启用 GPU 的容器,例如:
docker run --gpus all nvcr.io/nvidia/k8s/cuda-sample:nbody nbody -gpu -benchmark
我收到此错误:
docker: Error response from daemon: OCI runtime create failed: container_linux.go:367: starting container process caused: process_linux.go:495: container init caused: Running hook #0:: error running hook: exit status 1, stdout: , stderr: nvidia-container-cli: initialization error: driver error: failed to process request: unknown.
ERRO[0025] error waiting for container: context canceled
运行非 GPU 容器即可docker run hello-world
正常工作。
- 我确实在 Docker Desktop 设置中启用了 WSL 集成
- Windows 10 Pro(版本 20H2 内部版本 19042.985)
- Docker Desktop 3.3.3(64133),引擎 20.10.6,Compose 1.29.1
- 带有 Ubuntu 20.04 的 WSL2
- Nvidia 驱动程序 470.14 + CUDA 11.3
- 在搭载 Geforce RTX 2070 Max-Q 的本地笔记本电脑上运行
答案1
使用 WSL2 时无法获得 Docker 的 GPU 支持
- Windows 10 Pro(版本 20H2 内部版本 19042.985)
WSL2 中的 CUDA 要求比您正在运行的 Windows 版本更高。。您必须升级到受支持的 Windows Insider 版本才能实现您的目标
确保安装了 Build 版本 20145 或更高版本。为了获得最佳性能,我们建议使用 WIP OS 21332 及更高版本以及 Linux Kernel 5.4.91+。 您可以通过 Windows 运行命令运行 winver 来检查您的版本号。
此外:
单击“设置”应用的“Windows 更新”部分中的“检查更新”,确保您拥有最新的内核。如果安装了内核 4.19.121+ 的正确更新,您应该能够在 Windows 更新历史记录中看到它。或者,您可以通过在 PowerShell 中运行以下命令来检查版本号:
wsl cat /proc/version