docker: Error response from daemon: could not select device driver with capabilities: [[gpu]]问题记录解决

具体参考:

docker: Error response from daemon: could not select device driver with capabilities: [[gpu]]问题记录解决_奶茶不加冰的博客-CSDN博客

docker: Error response from daemon: could not select device driver ““ with capabilities: [[gpu]]问题解决_一个菜鸟的奋斗的博客-CSDN博客

1、添加nvidia-docker的源

curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | \
  sudo apt-key add -
distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
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-get update

2、安装nvidia-container-toolkit、重启docker

curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | \
  sudo apt-key add -
distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
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-get update

3.安装nvidia-container-runtime

  • 在当前目录位置创建一个脚本

    vi t.sh
  • 把下面内容复制进去:

    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 bash t.sh
  • 安装nvidia-container-runtim

sudo apt-get install nvidia-container-runtime

4.配置/etc/docker/daemon.json文件

sudo vi /etc/docker/daemon.json

把下面内容复制进去

 {
    "default-runtime": "nvidia",
    "runtimes": {
        "nvidia": {
            "path": "/usr/bin/nvidia-container-runtime",
            "runtimeArgs": []
        }
    }
}

5.验证是否生效

  • 检查docker是否正确安装,用下面命令docker: Error response from daemon: could not select device driver with capabilities: [[gpu]]问题记录解决_第1张图片

如果必须要有部分没有说明docker没安装好,最好卸载了重装,如果有的GitCommit:后面是空的,也说明docker没装好 。

  • nvidia-smi命令检查NVIDIA驱动程序是否正常安装

  • 检查下docker daemon是否正在使用nvidia驱动程序。

如果显示"nvidia:yes"或者有其他正常显示,就说明docker daemon正在使用nvidia驱动程序,这个时候使用--gpus=all选项是不会报错的。

如果显示的是WARNING:No swap limit support或者什么都没显示,就说明是nvidia驱动程序没有被docker daemon使用,这个时候有点麻烦,可能是因为/etc/docker/daemon.json配置文件没配置对,也可能是docker没安装好。

你可能感兴趣的:(docker,容器,运维)