打开容器nvidia-container报错或Error response from daemon could not select device driver with capabilities

报错一:Error response from daemon: OCI runtime create failed: container_linux.go:380: starting container process caused: process_linux.go:545: container init caused: Running hook #0:: error running hook: exit status 1, stdout: , stderr: nvidia-container-cli: initialization error: nvml error: driver/library version mismatch: unknown

解决方法:
step1:检查CUDA
在宿主机器上查看CUDA版本,报错Failed to initialize NVML: Driver/library version mismatch。
请添加图片描述
step2:检查驱动版本和内核版本
查看显卡驱动所使用的的内核版本

cat /proc/driver/nvidia/version

请添加图片描述
查看驱动程序版本

sudo dpkg --list | grep nvidia-*

在这里插入图片描述
发现实际内核版本与驱动需求版本不一致。原先可用的CUDA突然出现了这个问题应该是某些操作带动了驱动的更新(若没有自动更新)。
检查驱动做了什么更新


                
当出现 `Error response from daemon: could not select device driver with capabilities: [[gpu]]` 错误时,表明 Docker 守护进程无法找到支持 GPU 的设备驱动程序。此问题通常与 NVIDIA 驱动 NVIDIA 容器工具链的配置有关。以下是解决该问题的关键步骤: ### 检查 NVIDIA 驱动是否正确安装 首先确保系统中已正确安装 NVIDIA 显卡驱动。可以通过以下命令检查: ```bash nvidia-smi ``` 如果命令输出显示了 GPU 的详细信息,则说明驱动已经安装成功;否则需要前往 [NVIDIA 官方网站](https://www.nvidia.com/Download/index.aspx) 下载并安装对应的驱动。 ### 安装 NVIDIA Container Toolkit Docker 要支持 GPU,必须安装 `nvidia-container-toolkit` `nvidia-docker2` 插件。以下是 Ubuntu 系统下的安装步骤: ```bash 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 update sudo apt install -y nvidia-container-toolkit sudo systemctl restart docker ``` 完成上述操作后,Docker 应能够识别 GPU 并允许使用 `--gpus all` 参数运行容器[^3]。 ### 配置 Docker Daemon 以启用 GPU 支持 确保 `/etc/docker/daemon.json` 文件中包含以下内容,以启用对 GPU 的支持: ```json { "runtimes": { "nvidia": { "path": "nvidia-container-runtime", "runtimeArgs": [] } }, "default-runtime": "nvidia" } ``` 修改完配置文件后,重启 Docker 服务: ```bash sudo systemctl restart docker ``` ### 测试 GPU 是否可用 可以使用以下命令测试 GPU 是否可在容器中正常使用: ```bash docker run --rm --gpus all nvidia/cuda:11.0-base nvidia-smi ``` 如果命令成功执行并输出了当前 GPU 的状态信息,则说明 GPU 已被正确识别和配置。 ### 常见问题排查 - **驱动版本不兼容**:确保使用的 NVIDIA 驱动版本与 CUDA 版本兼容。 - **未重启 Docker 服务**:在更改配置安装组件后,务必重启 Docker 服务以应用变更。 - **权限问题**:某些情况下可能需要将用户添加到 `docker` 组,避免权限不足导致的错误。 ---
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值