启动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. 先清理错误的源文件
2. 添加 NVIDIA 通用 DEB 源(核心步骤)
3. 安装 NVIDIA Container Toolkit
1. 先清理错误的源文件
sudo rm -f /etc/apt/sources.list.d/nvidia-container-toolkit.list
sudo rm -f /etc/apt/sources.list.d/download.docker.list2. 添加 NVIDIA 通用 DEB 源(核心步骤)
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.list3. 安装 NVIDIA Container Toolkit
sudo apt-get update
sudo apt-get install -y nvidia-container-toolkit4. 配置 Docker 使用 NVIDIA 运行时
sudo nvidia-ctk runtime configure --runtime=docker
sudo systemctl restart docker5. 验证安装
sudo docker run --rm --runtime=nvidia --gpus all ubuntu nvidia-smi如果看到显卡信息输出,说明安装成功。现在可以在 1Panel 中重新部署 ollama 容器,并确保在容器配置中添加 GPU 支持:
deploy:
resources:
reservations:
devices:
- capabilities:
- gpu
count: all
driver: nvidia