更新 GPU 驱动程序后,我无法在 Docker 上运行 GPU。 当我在主机环境(Centos)中运行
nvidia-smi
时,GPU被识别。
docker run --gpus all -it -v $(pwd):/home/workspace test /bin/bash
ERRO[0000] error waiting for container: context canceled
docker: Error response from daemon: could not select device driver "" with capabilities: [[gpu]].
根据我的研究,更新GPU驱动程序似乎会删除这些设置,因此我参考了NVIDIA容器工具包站点并再次执行了安装过程,但上述错误仍然存在。为了确定起见,我还重新启动了系统,但这并没有解决问题。 我该怎么办?
docker run -it --gpus all nvidia/cuda:11.4.0-base-ubuntu20.04 nvidia-smi
对我来说最重要的是遵循 Docker 的说明如何访问 nvidia gpu
- 按照说明将
添加到nvidia-container-runtime
apt
- apt-get 安装 nvidia-container-runtime
- 确保
可从 $PATH 访问:nvidia-container-runtime-hook
which nvidia-container-runtime-hook
- 重启
假设您遵循良好的安装程序:
现在,来自教程:如何使用 docker 连接 NVIDIA GPU https://www.howtogeek.com/devops/how-to-use-an-nvidia-gpu-with-docker-containers/
使用 nvidia 基础映像而不是您的映像
test
docker run -it --gpus all nvidia/cuda:11.4.0-base-ubuntu20.04 nvidia-smi /bin/bash
如果运行不好,您的图像
test
需要进一步调试
$ sudo docker run -it --gpus all nvidia/cuda:11.4.0-base-ubuntu20.04 nvidia-smi /bin/bash
Unable to find image 'nvidia/cuda:11.4.0-base-ubuntu20.04' locally
docker: Error response from daemon: manifest for nvidia/cuda:11.4.0-base-ubuntu20.04 not found: manifest unknown: manifest unknown.
See 'docker run --help'.
无法从 docker 注册表中找到该镜像