Linux 装上 Docker 20 引擎,即使用了 --gpus all
也报错误:docker: Error response from daemon: could not select device driver "" with capabilities: [[gpu]].
其实是少装了 nvidia-container-runtime,我的是 N 卡,nvidia 源参考请点击这里。
我的服务器是 Ubuntu 22,直接贴上对应的 nvidia 源:
curl -s -L https://nvidia.github.io/nvidia-container-runtime/gpgkey | \ sudo apt-key add - distribution=$(. /etc/os-release;echo $ID$VERSION_ID) 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
接着开始安装 nvidia-container-runtime:
sudo apt-get install -y nvidia-container-runtime systemctl stop docker # 把运行时添加到 docker 中(不会自动退出命令,需要自己中断) dockerd --add-runtime=nvidia=/usr/bin/nvidia-container-runtime # 测试(装好后,可通过添加 --gpus all 来支持 Docker 容器中使用 GPU了) docker run --gpus all nvidia/cuda:11.0.3-base-ubuntu20.04 nvidia-smi
要在容器中使用 GPU,必须在 docker run
中添加 --gpus all
参数,如果您用的是 Docker Compose yaml 文件,也是支持的,但 Swarm 的 yaml 经测试不可以,具体可以看这篇文章:Docker Compose 笔记。
需要注意:Docker 装在 VMware Workstation 虚机上是不支持 GPU 的,即使用了 --gpus all
参数。