WSL环境下Docker运行CUDA容器报错:未找到适配器
解决WSL环境下Docker运行CUDA容器时“未找到适配器”的错误
关键报错信息
nvidia-container-cli: initialization error: WSL environment detected but no adapters were found: unknown.
修复步骤
检查并更新NVIDIA驱动
确保Windows系统安装了支持WSL 2的NVIDIA驱动,版本需适配你的GPU型号。若驱动版本过旧,直接前往NVIDIA官网下载最新的Game Ready或Studio驱动安装,完成后重启电脑。确认WSL版本为2
打开Windows PowerShell,执行以下命令查看WSL发行版信息:wsl --list --verbose确认目标发行版的
VERSION列显示为2。若为1,执行以下命令转换(替换<发行版名称>为实际名称,比如Ubuntu):wsl --set-version <发行版名称> 2启用Docker Desktop的WSL集成
打开Docker Desktop,进入设置 > 资源 > WSL集成,勾选你正在使用的WSL发行版对应的开关,点击应用并重启。重置并重新安装NVIDIA Container Toolkit
进入WSL终端,执行以下命令重置相关组件:sudo systemctl restart docker sudo rm -rf /var/lib/nvidia-container-toolkit sudo nvidia-container-cli --debug info若输出仍未识别到GPU,重新安装nvidia-container-toolkit:
distribution=$(. /etc/os-release;echo $ID$VERSION_ID) curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add - curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list sudo apt-get update && sudo apt-get install -y nvidia-container-toolkit sudo systemctl restart docker配置Docker用户权限
确保当前WSL用户加入docker组,避免权限问题:sudo usermod -aG docker $USER退出当前WSL终端,重新登录后再执行容器运行命令。
内容的提问来源于stack exchange,提问作者user13971133
相关产品推荐
相关产品推荐

