当前位置:   article > 正文

ubuntu系统nvidia-docker安装指导_no match for argument libnvidia-container1

no match for argument libnvidia-container1

为什么要安装nvidia-docker?

  •  docker镜像中可以安装CUDA、cuDNN,但是镜像中没有显卡驱动,因此如果要在镜像中使用GPU,那么需要将本机的显卡驱动映射到Docker镜像中,这就需要安装nvidia-docker了,nvidia-docker的任务就是将显卡驱动映射到Docker镜像中。

nvidia-docker主要版本

  • nvidia-docker1
  • nvidia-docker2

nvidia-docker2线下安装方法

  • docker18之前安装nvidia-docker2,docker19之后使用nvidia-container-toolkit
  • 准备以下几个安装包(nvidia-docker2.zip,前两个也可以从nvidia container库下载)
    • libnvidia-container1_1.0.1-1_amd64.deb
    • libnvidia-container-tools_1.0.1-1_amd64.deb
    • nvidia-container-runtime_3.1.4-1_amd64.deb
    • nvidia-container-toolkit_1.0.5-1_amd64.deb
  • sudo dpkg -i ./lib*  ./nvidia*

nvidia-docker2线上安装方法

  • 如果已经安装了nvidia-docker1,可以通过以下命令卸载和移除:
    • docker volume ls -q -f driver=nvidia-docker | xargs -r -I{} -nl docker ps -q -a -f volume={} | xargs -r docker rm -f 
    • sudo apt-get purge -y nvidia-docker
  • 接下来添加GPG key并建立一个仓库
  1. # 可以直接打开网址下载获取gpgkey,然后apt-key add gpgkey
  2. curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add - 
  3. distribution=$(.  /etc/os-release;echo $ID$VERSION_ID) # ubuntu16.04
  4. # 可以直接打开网站,以ubuntu16.04举例https://nvidia.github.io/nvidia-docker/ubuntu16.04/nvidia-docker.list, 然后存到/etc/apt/sources.list.d/nvidia-docker.list
  5. curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list
  6. sudo apt-get update
  • 开始安装nvidia-docker2:
    • docker 19.0以后版本sudo apt-get install -y nvidia-container-toolkit
    • docker 18.0以前版本sudo apt-get install -y nvidia-docker2
  • 重新导入Docker配置文件:sudo pkill -SIGHUP dockerd
  • 测试nvidia-docker2是否安装成功:
    • docker 19.0版本以后:docker run --gpus "device=0" --rm -it --shm-size="32g"  nvidia/cuda nvidia-smi
    • docker 18.0版本以前:docker run --runtime=nvidia --rm nvidia/cuda nvidia-smi(其中nvidia/cuda是镜像名)
  • 如果出现docker: Error response from daemon: could not select device driver "" with capabilities: [[gpu]].通过sudo systemctl restart docker && sudo systemctl enable docker解决。

去除--runtime=nvidia方法(docker 18.0以前版本试用)

  • vi /etc/docker/daemon.json
  • 改成如下内容
  1. {
  2. "default-runtime": "nvidia",
  3. "runtimes": {
  4. "nvidia": {
  5. "path": "nvidia-container-runtime",
  6. "runtimeArgs": []
  7. }
  8. }
  9. }
  • 查看docker默认运行时是否为nvidia:docker info

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/空白诗007/article/detail/848276
推荐阅读
相关标签
  

闽ICP备14008679号