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

Docker无法选择GPU驱动报错求助:原正常运行现故障

问题描述

数周前我的Docker容器还能正常访问GPU(最后一次成功运行是8月31日),但现在回到项目时出现报错:
docker: Error response from daemon: could not select device driver "" with capabilities: [[gpu]]

已尝试重新安装docker、nvidia-docker2和nvidia-container-toolkit,操作前后及过程中均重启过实例,但问题依旧。Docker镜像未改动,推测是这段时间的CUDA更新之类的操作破坏了硬件与Docker的连接,不知道下一步该怎么处理。

环境配置

  • AWS EC2 g5.4xlarge实例
  • Amazon Linux 2系统
  • NVIDIA A10G显卡
  • NVIDIA-SMI 510.47.03(驱动版本510.47.03,CUDA版本11.6)
  • Docker版本20.10.17, build 100c701

复现命令

sudo docker run --rm --gpus all nvidia/cuda:11.6.0-base-ubuntu20.04 nvidia-smi


排查与解决步骤

1. 检查NVIDIA容器运行时配置

执行命令确认Docker是否识别到NVIDIA runtime:
docker info | grep -i nvidia
如果输出无Runtime: nvidia相关内容,需手动配置:

  • 编辑/etc/docker/daemon.json,确保内容包含:
{
    "runtimes": {
        "nvidia": {
            "path": "nvidia-container-runtime",
            "runtimeArgs": []
        }
    }
}
  • 重启Docker服务:sudo systemctl restart docker

2. 重新配置NVIDIA容器工具包

执行nvidia-container-cli -k list检查工具包是否能识别GPU驱动,若报错则重新配置repo并安装:

sudo yum-config-manager --add-repo https://nvidia.github.io/nvidia-docker/amzn2/nvidia-docker.repo
sudo yum clean expire-cache
sudo yum install -y nvidia-container-toolkit

安装完成后重启Docker。

3. 修复内核与驱动兼容性

Amazon Linux 2更新后可能更换内核,导致NVIDIA驱动与当前内核不匹配:

  • 查看当前内核版本:uname -r
  • 检查对应内核的NVIDIA驱动模块:ls /usr/lib/modules/$(uname -r)/kernel/drivers/video/nvidia.ko
    若找不到模块,重新安装适配当前内核的驱动:
sudo yum remove -y nvidia-driver-latest-dkms
sudo yum install -y nvidia-driver-latest-dkms

安装后重启实例。

4. 检查SELinux限制

临时关闭SELinux测试是否是权限问题:
sudo setenforce 0
若问题解决,需永久调整SELinux配置:
编辑/etc/selinux/config,将SELINUX=enforcing改为SELINUX=permissive,重启实例。

5. 调整GPU设备权限

检查主机GPU设备权限:
ls -l /dev/nvidia*
确保Docker用户组拥有访问权限:

sudo usermod -aG docker $USER
sudo chmod 666 /dev/nvidia*

重新登录或重启Docker服务后重试。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 22:50:25