ollama 容器不能调用英伟达显卡的问题处理
启动ollama容器报错
stderr: Container ollama Creating Container ollama Created Container ollama Starting Error response from daemon: could not select device driver "nvidia" with capabilities: [[gpu]] , err: exit status 1
遇到的这个错误是因为 1Panel 部署 ollama 容器时,Docker 无法找到支持 GPU 的 NVIDIA 驱动,导致容器启动失败。这个错误的核心原因是 Docker 没有正确配置 NVIDIA 容器运行时(nvidia-container-runtime),无法识别和调用 GPU 资源。
错误原因解析
could not select device driver "nvidia" with capabilities: [[gpu]] 这句话的意思是:
Docker 尝试为 ollama 容器分配 GPU 资源,但系统中没有安装 / 配置 NVIDIA 容器驱动
即使你有 NVIDIA 显卡和驱动,Docker 也需要专门的运行时插件才能调用 GPU
1. 先清理错误的源文件
# 删除包含 HTML 内容的错误源文件
sudo rm /etc/apt/sources.list.d/nvidia-container-toolkit.list
2. 添加 NVIDIA 通用 DEB 源(核心步骤)
# 1. 确保 GPG 密钥已正确安装(如果之前装过可跳过)
curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg
# 2. 添加通用的 DEB 源(适配所有 DEB 系系统)
echo "deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://nvidia.github.io/libnvidia-container/stable/deb/amd64 /" | sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list
# 3. 如果是 ARM64 架构(如鲲鹏/飞腾服务器),替换上面这行:
# echo "deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://nvidia.github.io/libnvidia-container/stable/deb/arm64 /" | sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list
3. 安装 NVIDIA Container Toolkit
# 更新源(此时不会再返回 HTML 错误)
sudo apt-get update
# 安装核心包
sudo apt-get install -y nvidia-container-toolkit
# 配置 Docker 启用 NVIDIA 运行时
sudo nvidia-ctk runtime configure --runtime=docker
# 重启 Docker 生效
sudo systemctl restart docker





