Nvidia docker 安装与使用

2,916 阅读1分钟

这是我参与11月更文挑战的第15天,活动详情查看:2021最后一次更文挑战

Nvidia docker 是nvidia显卡在docker基础上进行封装得到的docker工具,需要电脑中安装Nvidia显卡驱动与docker,配置好Nvidia docker后docker可以使用GPU。本文记录Nvidia docker的安装与使用方法。

环境

  • Linux 16.04 64位操作系统
  • 显卡驱动 450.80.02
  • CUDA 版本 11.0
  • docker 安装版本 19.03.4

安装过程

  • 加入包仓库
 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
  • 安装nvidia-docker2 载入docker 配置
 sudo apt-get install -y nvidia-docker2
 sudo pkill -SIGHUP dockerd
  • 下载官方测试镜像
 docker run --runtime=nvidia --rm nvidia/cuda:11.0-base nvidia-smi

此时会显示出显卡信息,说明nvidia docker成功创建并在内部正确执行了 nvidia-smi 命令。

  • 查看nvidia-docker安装情况
 $ sudo apt show nvidia-docker2
 ->
 Package: nvidia-docker2
 Version: 2.5.0-1
 Priority: optional
 Section: utils
 Maintainer: NVIDIA CORPORATION <cudatools@nvidia.com>
 Installed-Size: 27.6 kB
 Depends: nvidia-container-runtime (>= 3.4.0), docker-ce (>= 18.06.0~ce~3-0~ubuntu) | docker-ee (>= 18.06.0~ce~3-0~ubuntu) | docker.io (>= 18.06.0)
 Breaks: nvidia-docker (<< 2.0.0)
 Replaces: nvidia-docker (<< 2.0.0)
 Homepage: https://github.com/NVIDIA/nvidia-docker/wiki
 Download-Size: 5,840 B
 APT-Manual-Installed: yes
 APT-Sources: https://nvidia.github.io/nvidia-docker/ubuntu16.04/amd64  Packages
 Description: nvidia-docker CLI wrapper
  Replaces nvidia-docker with a new implementation based on
  nvidia-container-runtime
 
 N: There are 50 additional records. Please use the '-a' switch to see them.

出现类似信息说明安装成功

使用nvidia docker镜像

  • 之前不是同一个驱动版本下创建的镜像在新驱动下的nvidia docker中可能找不到nvidia-smi命令
  • 为了在新的docker下使用gpu,我迂回地使用测试镜像作为初始镜像
 nvidia-docker run -it --name first_container nvidia/cuda:11.0-base /bin/bash

这样便将测试镜像创建出了可以随时访问修改的容器,在该容器基础上保存镜像即可。

 docker commit -m "nvidia docker image init" first_container my_image:1.0

参考资料