【跳坑日记-成功解决】docker使用GPU报错:could not select device driver ““ with capabilities: [[gpu]]

缘起(报错信息):

在搭建RAG知识库的过程中,用到Ollama框架,在使用其推荐框架open-webui时,想利用本机自带GPU进行加速,于是执行docker命令docker run -d -p 3000:8080 --gpus all -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:cuda
在执行过程中出现如下报错:

Error response from daemon: could not select device driver ““ with capabilities: [[gpu]]

以上是报错发生的过程。

运行环境:

介绍下本机运行环境:

项目 参数
系统 Ubuntu 20.04.6 LTS
docker版本 27.2.1
显卡型号 NVIDIA GeForce RTX 3060

当出现 `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
发出的红包

打赏作者

黑符石

感谢小主对原创的大力支持

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值