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

本文讲述了如何在Docker中启用GPU支持,包括添加NVIDIA运行时环境的GPG密钥,安装nvidia-container-runtime,更新包并重启Docker,以及配置容器运行命令以使用GPU。遇到占用相同名称容器时,还提到了删除已存在的容器解决冲突的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

意思是关联不上宿主机的GPU,因为要用GPU,就要启用nvidia英伟达运行时环境,安装即可:

sudo curl -s -L https://nvidia.github.io/nvidia-container-runtime/gpgkey
sudo apt-key add -distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
sudo curl -s -L https://nvidia.github.io/nvidia-container-runtime/$distribution/nvidia-container-runtime.list
sudo tee /etc/apt/sources.list.d/nvidia-container-runtime.list
sudo apt-get update
sudo apt-get install nvidia-container-runtime
systemctl restart docker

然后重新执行docker容器运行命令即可:

sudo docker run -itd --gpus=all --network=host --device=/dev/dri --group-add=video --ipc=host --cap-add=SYS_PTRACE --security-opt seccomp=unconfined --name=stable-diffusion gpulab.tencentcloudcr.com/ai/stable-diffusion:1.0.8 | xargs sudo docker logs --follow

如果提示已经存在了(之前未成功但占用了名字的),docker rm 容器ID删除即可

当出现 `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` 组,避免权限不足导致的错误。 ---
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值