Nvidia docker 安装与使用

本文最后更新于:2022年8月10日 上午

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

安装过程

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

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

  • 查看nvidia-docker安装情况
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
$ 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,我迂回地使用测试镜像作为初始镜像
1
nvidia-docker run -it --name first_container nvidia/cuda:11.0-base /bin/bash

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

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

参考资料


Nvidia docker 安装与使用
https://www.zywvvd.com/notes/tools/docker/nvidia-docker-install/
作者
Yiwei Zhang
发布于
2020年12月3日
许可协议