缘起(报错信息):

在搭建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

解决过程

先说结论:问题已经解决,open-webui可以在GPU上稳定运行。
下面总结一下解决过程:
首先在CSDN上找到了报错解决方案——参考3.
提到安装英伟达显卡容器,但是直接复制博客里面的代码会报错。因此找到英伟达官方网站进行安装——参考4.
在此贴上省流步骤:
1、配置生产存储库:

curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg \
  && curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list | \
    sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | \
    sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list

2、(可选)将存储库配置为使用实验性软件包:

sed -i -e '/experimental/ s/^#//g' /etc/apt/sources.list.d/nvidia-container-toolkit.list

3、从存储库更新软件包列表:

sudo apt-get update

4、安装 NVIDIA Container Toolkit 软件包:

sudo apt-get install -y nvidia-container-toolkit

此时,重新执行docker命令,将不会报错。

以上就是该问题的完全解决过程,希望对你有所帮助。也欢迎点赞加收藏,感谢。

参考

  1. Ollama框架
  2. open-webui框架
  3. 解决关于Docker运行容器使用GPU资源时的异常:could not select device driver ““ with capabilities: [[gpu]]
  4. Installing the NVIDIA Container Toolkit

更多推荐