docker、nvidia-docker间的关系与安装

一、简介
nvidia-docker是一个可以使用GPU的docker,nvidia-docker是在docker上做了一层封装,通过nvidia-docker-plugin,然后调用到docker上,其最终实现的还是在docker的启动命令上携带一些必要的参数。因此在安装nvidia-docker之前,需要先安装docker。
docker原生并不支持在他生成的容器中使用Nvidia GP资源。nvidia-docker是对docker的封装,提供一些必要的组件可以很方便的在容器中用GPU资源执行代码。从下面的图中可以很容器看到nvidia-docker共享了宿主机的CUDA Driver。
docker、nvidia-docker间的关系与安装_第1张图片
二、docker安装

# 安装Docker
sudo yum remove docker docker-common docker-selinux docker-engine
sudo yum install -y yum-utils device-mapper-persistent-data  lvm2
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
sudo yum-config-manager --enable docker-ce-stable
sudo yum install -y docker-ce
 
systemctl start docker
systemctl enable docker
 
# 查看Docker状态
systemctl status docker

三、nvidia-docker安装

# 查看是否已经安装过nvidia-docker1.0,若安装,则先卸载,因为nvidia-docker1.0不包含NVIDIA Runtime,需要单独下载,比较不适应,直接安装nvidia-docker2
sudo docker volume ls -q -f driver=nvidia-docker | xargs -r -I{} -n1 docker ps -q -a -f volume={} | xargs -r docker rm -f
# 若安装,则删除
sudo yum remove nvidia-docker
# 添加仓库
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
# 安装nvidia-docker2,重载Docker daemon configuration
sudo yum install -y nvidia-docker2
sudo pkill -SIGHUP dockerd
# 测试是否安装成功
sudo docker run --runtime=nvidia --rm nvidia/cuda:10.0-base nvidia-smi

docker、nvidia-docker间的关系与安装_第2张图片
若出现以上结果,则说明安装成功
若提示以下问题,则说明需要在root用户在进行操作
在这里插入图片描述

你可能感兴趣的:(LINUX,经验与资源分享,docker,linux,centos)