Nvidia-Docker安装使用 -- 可使用GPU的Docker容器
来源:互联网 发布:手机淘宝好评在哪里写 编辑:程序博客网 时间:2024/05/17 04:09
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
的使用。
需提前安装好的软件
docker
由于nvidia docker是基于docker基础之上运行的,因此需要安装原生的docker。
1.12.6
版本的docker
安装可查看这篇文章:Docker安装使用命令。
Docker CE
版本可查看这篇文章:Docker CE安装教程。
nvidia显卡驱动
毫无疑问,要想使用GPU
,必须要安装显卡驱动,这样nvidia docker
才能正常运行。
显卡驱动的安装方式可查看这篇文章: Centos集成GTX-1080Ti显卡搭建深度学习环境全过程。
这篇文章中讲解了CentOS
安装显卡搭建深度学习环境的全过程,显卡驱动就是其中一项工作,因此这里就不单独写了,这篇文章中有安装的过程。
安装nvidia docker
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
操作结果:
2、查找可安装的nvidia docker
版本
yum search --showduplicates nvidia-docker
运行上面的语句,会出现下面这张图中的信息,一路点击y
最终输出结果是下面这张图:
大家可以从中选择自己需要安装的nvidia docker
版本,这里我安装的是docker
是1.12.6
版本的。因此我选择安装倒数第一个版本的nvidia docker
。
3、安装nvidia-docker
yum install nvidia-docker-1.0.1-1.x86_64
点击回车,系统就会安装nvidia-docker
,需要选yes\no
的地方输入y
,再点击回车,最终安装成功。
运行nvidia docker
1、运行docker
:
// 运行dockersystemctl start docker// 加入开机启动systemctl enable docker// 查看状态systemctl status coker
2、运行nvidia-docker
:
systemctl start nvidia-dockersystemctl enable nvidia-dockersystemctl status nvidia-docker
nvidia-docker
的操作命令与docker
基本相同,所以操作起来没有什么障碍。
kubernetes调用GPU
yaml文件配置:
apiVersion: v1kind: Podmetadata: name: gpu-testspec: volumes: - name: nvidia-driver hostPath: path: /var/lib/nvidia-docker/volumes/nvidia_driver/384.69 - name: cgroup hostPath: path: /sys/fs/cgroup containers: - name: tensorflow image: tensorflow:0.11.0-gpu ports: - containerPort: 8000 resources: limits: alpha.kubernetes.io/nvidia-gpu: 1 volumeMounts: - name: nvidia-driver mountPath: /usr/local/nvidia/ readOnly: true - name: cgroup mountPath: /sys/fs/cgroup
alpha.kubernetes.io/nvidia-gpu: 1
:表示只使用1块gpupath: /var/lib/nvidia-docker/volumes/nvidia_driver/384.69
:宿主机driver位置,安装了nvidia-docker
之后有的,当然需要保证宿主机nvidia driver
是已经安装ok的,应该是安装了nvidia-docker
之后,会发现宿主机的driver
,然后映射到此。path: /sys/fs/cgroup
:挂载该目录也是为了识别显卡,使容器内部能够使用宿主机显卡。volumeMounts
:将宿主机目录挂载到容器内部,这个标签下的配置项就是要把宿主机目录挂载到容器内部的那个目录,通过name
标识。
通过这些目录挂载配置,启动pod之后,容器就能够正常识别GPU并进行工作了。
- Nvidia-Docker安装使用 -- 可使用GPU的Docker容器
- k8s调用gpu,nvidia-docker使用gpu
- docker使用cuda gpu的时候缺少nvidia-uvm
- docker︱在nvidia-docker中使用tensorflow-gpu/jupyter
- docker容器的使用
- 在Docker下使用Nvidia GPU进行计算
- 在Docker下使用Nvidia GPU进行计算
- 四、Docker安装使用 容器
- [Docker]3.Docker 容器使用
- Docker常用容器的使用
- Docker容器的基本使用
- 使用Docker容器
- 使用docker volumes容器
- 使用 Docker 容器网络
- Docker 容器使用
- Docker 容器使用
- 【Docker学习】Docker 的安装与使用
- Ubuntu 安装和使用Docker容器
- linux 移动硬盘文件无法改变权限
- 每个人的心里都有一团火,路过的人只看到烟。
- PPP相关-泊松簇过程PCP-matlab程序
- ionic的安装与环境配置
- ePoll相关文章
- Nvidia-Docker安装使用 -- 可使用GPU的Docker容器
- 7-18 二分法求多项式单根
- 参数模板加载报错
- python 连接impala报错(windows系统)
- 用57行代码复刻一个8600万美元的大项目!
- sql视图使用case,when
- JSP标签详解
- JAVA各个版本特点总结
- Android的SlidingMenu 常用属性介绍