You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

WSL2环境下Windows Docker无法识别CUDA问题求解

问题修复方案

首先明确前提:你当前WSL2内nvidia-smi能正常输出,说明Windows主机端NVIDIA驱动、WSL2的GPU适配都正常,报错原因是Docker没有配置NVIDIA容器运行时,无法将GPU设备映射到容器内。


前置注意

不要在WSL2的Ubuntu环境中手动安装Linux原生NVIDIA驱动,WSL2会直接复用Windows主机的驱动,额外安装Linux驱动会导致冲突,破坏现有GPU适配能力。


操作步骤

  • 第一步:添加NVIDIA容器运行时的软件源
    执行以下命令导入密钥、添加源并更新软件列表:
    curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add -
    distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
    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 update
    
  • 第二步:安装nvidia-docker2适配组件
    执行安装命令:
    sudo apt install -y nvidia-docker2
    
    安装完成后重启Docker服务生效:
    sudo service docker restart
    
  • 第三步:验证配置有效性
    运行官方测试容器验证GPU映射是否正常:
    docker run --rm --gpus all nvidia/cuda:11.0.3-base-ubuntu20.04 nvidia-smi
    
    如果命令正常输出GPU信息,说明配置已经修复。
  • 第四步:原有业务容器启动调整
    后续启动业务镜像时,必须在docker run命令中添加--gpus all参数,才能将GPU设备映射到容器内。
    如果需要默认所有容器都自动挂载GPU,可以修改Docker配置文件/etc/docker/daemon.json,添加以下内容:
    {
        "default-runtime": "nvidia",
        "runtimes": {
            "nvidia": {
                "path": "nvidia-container-runtime",
                "runtimeArgs": []
            }
        }
    }
    
    修改完成后重启Docker服务即可生效。

内容的提问来源于stack exchange,提问作者Talha Anwar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.09 22:06:03