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

更新GPU驱动后Docker无法调用GPU问题求助

解决Docker无法识别GPU的问题

1. 检查Docker Daemon的NVIDIA Runtime配置

查看/etc/docker/daemon.json文件,确认包含NVIDIA runtime的配置:

{
    "default-runtime": "nvidia",
    "runtimes": {
        "nvidia": {
            "path": "nvidia-container-runtime",
            "runtimeArgs": []
        }
    }
}

如果文件不存在或配置缺失,手动创建/修改后,重启Docker服务:

systemctl restart docker

2. 验证NVIDIA容器组件安装完整性

  • 检查nvidia-container-toolkit是否安装:
    rpm -qa | grep nvidia-container-toolkit
    
  • 确认nvidia-container-runtime可执行文件存在:
    which nvidia-container-runtime
    
    若找不到该文件,重新安装runtime包:
    yum install nvidia-container-runtime
    

3. 确保驱动与容器镜像版本兼容

执行宿主机的nvidia-smi,查看右上角标注的CUDA Version(这是驱动支持的最高CUDA版本),确保你使用的Docker镜像(如nvidia/cuda:11.4.0-base-ubuntu20.04)的CUDA版本不超过该数值。若版本不匹配,更换对应版本的镜像(比如使用nvidia/cuda:latest自动匹配驱动版本)。

4. 检查Docker是否识别NVIDIA Runtime

执行以下命令,确认输出中包含nvidia runtime:

docker info | grep -i runtime

若未找到,说明Docker未加载NVIDIA runtime,需重新检查daemon.json配置,或执行自动配置命令:

nvidia-ctk runtime configure --runtime=docker
systemctl restart docker

5. 排查SELinux限制

CentOS默认开启SELinux,可能干扰NVIDIA容器工具包的正常运行。临时关闭SELinux测试:

setenforce 0

若问题解决,需为NVIDIA容器配置SELinux规则(或根据需求调整SELinux策略),避免后续重启后问题复发。

6. 验证基础镜像运行

完成上述步骤后,用官方基础镜像测试:

docker run --rm --gpus all nvidia/cuda:latest nvidia-smi

若能正常输出GPU信息,说明问题已解决。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 02:35:20