在深度学习中,如果要使docker中的代码能够在GPU的环境下运行,需要安装nvidia-docker。nvidia-docker是一个可以是用GPU的docker,其在docker上做了一层封装,通过nvidia-docker-plugin,然后调用到docker上,其最终实现还是在docker的启动命令上携带一些必要的参数,因此在安装nvidia-docker之前,还是需要安装docker的。
单纯的docker,一般是使用CPU的应用,如果要使用GPU的话, 就需要安装特定硬件环境,所以docker并不能支持Nvidia GPU,为了解决这个问题,最初的作法是进入docker容器,全部重新安装nvidia driver。然后通过设置相应的设备参数来启动容器,不过这种方法需要宿主机的driver版本和容器内的driver版本完全一致,导致docker镜像无法共享,所以这种方法不能大规模使用。
为了使docker image能很方便的使用Nvidia GPU,从而出现了nvidia-docker,使用nvidia-docker制作的docker 镜像,就要求在启动容器的时候其需要的字符设备和驱动程序必须已经被挂载。
nvidia-docker-plugin是一个docker plugin,被用来帮助我们轻松部署container到GPU混合的环境下。类似一个守护进程,发现宿主机驱动文件以及GPU 设备,并且将这些挂载到来自docker守护进程的请求中。以此来支持docker GPU的使用。
使用nvidia-docker需要安装的软件:
1、docker
2、nvidia显卡驱动
3、nvidia docker
3.1、下载nvidia-docker.repo文件,并将该文件输出到/etc/yum.repos.d/nvidia-docker.repo
执行:curl -s -L https://nvidia.github.io/nvidia-docker/centos7/x86_64/nvidia-docker.repo | sudo tee /etc/yum.repos.d/nvidia-docker.repo
结果如下:
3.2 查找可以安装的nvidia-docker
执行:y