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 <[email protected]>
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
参考资料
-
https://www.cnblogs.com/llfctt/p/10642100.html
-
https://www.cnblogs.com/wuchangsoft/p/9767074.html