Nvidia-Docker Ubuntu安装
Nvidia-Docker说明
nvidia-docker
是一个可以使用GPU的docker,nvidia-docker是在docker上做了一层封装,通过nvidia-docker-plugin
,然后调用到docker上,其最终实现的还是在docker的启动命令上携带一些必要的参数。因此在安装nvidia-docker之前,还是需要安装docker的。
docker
一般都是使用基于CPU的应用,而如果是GPU的话,就需要安装特有的硬件环境,比如需要安装nvidia driver。所以docker容器并不直接支持Nvidia GPU
。为了解决这个问题,最早的处理办法是在容器内部,全部重新安装nvidia driver,然后通过设置相应的设备参数来启动container,然而这种办法是很脆弱的。因为宿主机的driver的版本必须完全匹配容器内的driver版本,这样导致docker image无法共享,很可能本地机器的不一致导致每台机器都需要去重复操作,这很大的违背了docker的设计之初。
为了使docker image能很便利的使用Nvidia GPU,从而产生了nvidia-docker
,由它来制作nvidia driver的image,这就要求在目标机器上启动container时,确保字符设备以及驱动文件已经被挂载。
nvidia-docker-plugin
是一个docker plugin,被用来帮助我们轻松部署container到GPU混合的环境下。类似一个守护进程,发现宿主机驱动文件以及GPU设备,并且将这些挂载到来自docker守护进程的请求中。以此来支持docker GPU的使用。
Prerequisites
- GNU/Linux x86_64 with kernel version > 3.10
- Docker >= 1.12 , Docker-CE安装教程见本教程上一节内容
- NVIDIA GPU with Architecture > Fermi (2.1)
- NVIDIA drivers ~= 361.93 (untested on older versions)
卸载旧版本 nvidia-docker1.0
docker volume ls -q -f driver=nvidia-docker | xargs -r -I{} -n1 docker ps -q -a -f volume={} | xargs -r docker rm -f
sudo apt-get purge nvidia-docker
Install Nvidia-Docker
安装方式: Repository
SET UP THE REPOSITORY
建议在
curl
命令之前 加上sudo
: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
如果提示
gpg: no valid OpenPGP data found.
, 在curl前加上sudo
;Install Nvidia-Docker 2.0
# Install nvidia-docker2 sudo apt-get install nvidia-docker2 # reload the Docker daemon configuration sudo pkill -SIGHUP dockerd
测试是否安装成功
sudo docker run --runtime=nvidia --rm nvidia/cuda nvidia-smi