nvidia-docker版本及安装过程

一、nvidia-docker简单介绍

   nvidia-docker 英伟达在docker之上开发的一套可以使用GPU的docker ,查看前面的介绍即可知道。通过调用yum deplist nvidia-docker, 查看依赖项。

yum deplist nvidia-docker

具体每项依赖的功能,下文接着讲。

二、nvidia-docker安装

    还是从安装开始,这里还是利用yum工具, 配置安装源,如果想把安装包保存起来,可修改yum配置,也可设置yum参数,--downloaddir, 前面有讲。注意安装nvidia-docker , 系统配置必须要在centos7,目前nvidia-docker  不支持centos6系列。

  2.1 删除本机已安装的旧版本

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

2.2 配置Git上的源

curl -s -L https://nvidia.github.io/nvidia-docker/centos7/nvidia-docker.repo | \
  sudo tee /etc/yum.repos.d/nvidia-docker.repo

2.3 安装 nvidia-docker 

如果未指定 版本,默认安装nvidia-docker1

yum install -y  nvidia-docker

需要安装nvidia-docker2 ,输入如下

yum install -y nvidia-docker2

如果安装版本2,则可以在/etc/docker/下看到 docker守护进行的配置文件 daemon.json,默认没有,版本1也没有配置文件。

2.4 调试

nvidia-docker run --ti --rm nvidia/cuda:9.0-base nvidia-smi

docker 首先从本地查找镜像,如果未找到,则从网络仓库上拉取,拉取完成后,则出现

至此,nvidia-docker 安装完成。

三、nvidia-docker的版本

        随着英伟达对 nvidia-docker不断优化与更新,目前为止,已发布发布两个大的稳定版本。nvidia-docker 和 nvidia-docker2在linux下使用yum install -y nvidia-docker 或默认安装低版本的, 如果需要安装 高版本需要指定 nvidia-docker2 .

       那么两个版本之间有何区别呢?

       (1) 虽然nvidia-docker1 和nvidia-docker2 都依赖于docker, 但版本1是一个整体的可行性文件,内部实现连接docker容器与硬件GPU,版本2将整体部分拆分层一个基于docker的薄封装(cat /usr/bin/nvidia-docker 可查看)和一个插件(nvidia-container-runtime , 该插件直接实现一个 hook的功能,连接GPU硬件),在版本2 的nvidia-docker 可发现,实际上还是运行docker ,只是指定了 --runtime 参数,同时指定GPU设备,默认全部GPU设备。

     (2)当需要运行一个使用GPU的容器时,版本1 必须用nvidia-docker run/create 启动, 版本二可通过设置 守护进行default-runtime参数可直接通过 docker run/create 直接启动GPU容器

 docker的守护进程参数配置一般在文件 /etc/docker/daemon.json

cat /etc/docker/daemon.json

[root@localhost hadoop]# cat /etc/docker/daemon.json
{
    "runtimes": {
        "nvidia": {
            "path": "nvidia-container-runtime",
            "runtimeArgs": []
        }
    }
}
[root@localhost hadoop]# 

配置默认的插件环境 后

{
    "default-runtime" : "nvidia",
 
    "runtimes": {
        "nvidia": {
            "path": "nvidia-container-runtime",
            "runtimeArgs": []
        }
    }
}

配置完成后,重启docker  

systemctl restart docker

     然后调用 docker run/create 启动容器即可, 注意 前提需要安装 nvidia-container-runtime插件(安装完成后,可在/usr/bin 下发现文件 nvidia-container-runtime, 其实 配置文件的 nvidia path参数 实际为 、/usr/bin/nvidia-container-runtime  去掉路径,因为系统环境变量已设置)。

    能够同时使用nvidia-docker1 和 nvidia-docker2 ?  其实是可以的,在安装nvidi-docker1后,只要下载插件(nvidia-container-runtime 和 nvidia-container-runtime-hook ),新建docker守护进程配置参数,重启docker,  然后nvidia-docker 启动容器时,指定--runtime nvidia 参数即可。

  • 2
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值