CentOS7服务器部署nvidia-docker

       传统的docker可以用来部署各种容器,以在一台设备上运行多个隔离的服务,缺点是并不能够调用GPU。最近实验室有台装了T4的服务器,想着能不能够装个带GPUdocker容器,然后远程连接用来训练我的模型。查了一下,其实是可以的,不过要借助nvidia-docker这个工具,经过了一番折腾,算是成功了,现将折腾的过程记录如下。
       要想使用nvidia-docker创建带GPU的容器,需要安装英伟达显卡的驱动,网上看很多教程,说还要安装cudacudnn,其实这两个在宿主机上不安装也行,等创建容器的后,在容器内部安装配置即可。而且不同的容器可以安装配置不同的cudacudnn,创建容器之后,只要将其打包成镜像,那么用不同版本的cuda时只要创建个容器,将会非常的方便。
官方nvidia-docker文档:https://docs.nvidia.com/datacenter/cloud-native/

1、安装NVIDIA显卡驱动

       可以去官方网站下载,根据自己的显卡选择对应版本,最新的也可以(我安装的就是最新的),不影响之后docker容器内的显卡使用。可以先在个人电脑上下载,然后利用FTPSFTP传到服务器上,也可以复制下载链接后在服务器中使用wget命令进行下载:

wget https://cn.download.nvidia.cn/tesla/510.47.03/NVIDIA-Linux-x86_64-510.47.03.run

下载地址:https://www.nvidia.cn/Download/index.aspx?lang=cn
根据显卡型号和对应的平台就可以进行下载
CentOS7服务器部署nvidia-docker_第1张图片
以我下载的驱动为例,我下载后的文件如下:
在这里插入图片描述       如上图所示,得到下载的文件后,先使用chmod +x赋予文件可执行权限,然后执行程序,一路按默认的来,安装即可。

2、安装docker

       这里使用阿里云一键安装脚本进行安装,安装docker后记得开启docker并设置开机自启动

curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
systemctl start docker    #开启docker
systemctl enable docker  #设置开机自启

更多安装方法可见:Linux安装docker

3、设置nvidia-docker的存储库和 GPG 密钥

distribution=$(. /etc/os-release;echo $ID$VERSION_ID) \
   && curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.repo | sudo tee /etc/yum.repos.d/nvidia-docker.repo

4、更新包列表后安装包和依赖项

sudo yum clean expire-cache

5、安装nvidia-docker

       nvidia-docker1已被弃用,可直接安装nvidia-docker2,使用和nvidia-docker一样:

sudo yum install -y nvidia-docker2

然后重启docker

sudo systemctl restart docker

6、测试是否安装成功

sudo nvidia-docker run --rm --gpus all nvidia/cuda:11.2-base nvidia-smi

输出结果如下:
CentOS7服务器部署nvidia-docker_第2张图片

7、总结

       安装nvidia-docker其实就三步,安装NVIDIA显卡驱动,安装docker和安装nvidia-docker,服务器可以不安装cudacudnn,下一篇博客介绍如何配置带GPU的容器。

你可能感兴趣的:(深度学习,工具,docker,服务器,深度学习,python,神经网络)