• docker 报错:不能选择设备驱动 could not select device driver 的解决方法(实测有效)


    Ubuntu安装完docker引擎后,在创建容器的时候指定 --gpus all,出现报错如下:

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

    解决该问题还需要安装Nvidia-docker,本篇参照Nvidia官网

    NVIDIA Container Toolkit 在许多Linux发行版上都可用并且支持不同的容器引擎(不只Docker)。

    1、准备工作

     开始前确保已安装NVIDIA驱动,

    (1)平台要求:

     (2)Docker安装见上篇 Ubuntu 20.04安装Docker及相关设置

    2、安装NVIDIA Container Toolkit

       (1) 创建包仓库和GPG key:

    $  distribution=$(. /etc/os-release;echo $ID$VERSION_ID) \
           && 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/$distribution/libnvidia-container.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.list
       (2) 更新包列表之后安装 nvidia-docker2 包(以及依赖)
    sudo apt-get update
    sudo apt-get install -y nvidia-docker2

     

    (3)重启Docker daemon 来完成设定默认运行时后的安装。

    sudo systemctl restart docker

    (4)通过运行一个基础的CUDA container测试安装是否有效。

    sudo docker run --rm --gpus all nvidia/cuda:11.0.3-base-ubuntu20.04 nvidia-smi

       得到如下输出表明成功。

     

    3、最后再次创建容器指定 --gpus all ,问题解决,容器创建成功。

     
     
     
     
     
     
     
     Enjoy it!
  • 相关阅读:
    [译]K-D-B-tree(草稿,第一次翻译)
    [LeetCode]Letter Combinations of a Phone Number
    [LeetCode]Multiply Strings
    [LeetCode]Populating Next Right Pointers in Each Node
    [LeetCode]Sum Root to Leaf Numbers
    [LeetCode]String to Integer (atoi)
    [LeetCode]Path Sum II
    [LeetCode]Minimum Depth of Binary Tree
    线上死锁问题排查
    Redis(四):独立功能的实现
  • 原文地址:https://www.cnblogs.com/booturbo/p/16318627.html
Copyright © 2020-2023  润新知