专栏首页恩蓝脚本Linux服务器搭建nvidia-docker环境过程详解

Linux服务器搭建nvidia-docker环境过程详解

docker相当于一个容器,其可以根据你所需要的运行环境构建相应的运行环境,此时各个环境之间彼此隔离,就不会存在在需要跑一个新的代码的时候破坏原来跑的代码所需要的环境,各个环境之间彼此隔离开,好像一个个容器将其隔离开一样

由于docker只针对在CPU上面跑的情况,对于需要在GPU上面运行的服务器,其提供了一个nvidia-docker

sudo apt-get install -y nvidia-docker2 sudo pkill -SIGHUP docker

对于怎么在服务器子账户上面搭建nvidia-docker,在百度上个个地方讲的都不一样,因此,在谷歌上查阅了相关的文档之后,将在服务器子账户上搭建nvidia-docker的方法陈列如下

简单的来说,要安装nvidia-docker总共的步骤分为三步:

Install NVIDIA driver Install docker Install nvidia-docker

安装显卡驱动

对于我们的服务器甚至大多数服务器来说,这一步都是在装机的时候必备的,因此这一步我们直接忽略,具体问题可以百度

安装docker

docker有两种可用的版本:社区办(CE)和企业版(EE),正如英伟达显卡驱动器,我们需要知道linux版本来选择合适的安装文件,以下的安装版本是在ubuntu16.04上面安装社区版

安装docker步骤如下

首先,我们需要将存在于电脑上的老的版本的docker移除,如果你可以确定这是你第一次在你的机器上安装docker,那么这一步就可以省略,否则你最好执行一下以下的命令

sudo apt-get remove docker docker-engine docker.io

如果docker没有在你的机器上安装,那么apt-get将会告诉你这个问题

接下来,我们将安装docker,推荐从repository(知识库)里面安装docker,这样可以实现当新的版本出现的时候,我们也可以从repository里面很容易的获得更新

我们为了从repository里面安装docker,我们需要首先建立docker repository,通常,我们需要更新apt包

更新apt package index

sudo apt-get update

然后,安装软件包以允许apt通过HTTP

sudo apt-get install \
  apt-transport-https \
  ca-certificates \
  curl \
  software-properties-common

接下来,加入docker的官方GPG密钥

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo pt-key add -

验证下列指令输出的是9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88

sudo apt-key fingerprint 0EBFCD88

接下来,通过运行下面的指令告诉apt用stable repository

sudo add-apt-repository \ “deb [arch=amd64] https://download.docker.com/linux/ubuntu \ (usb_release -cs) \ stable”

在这里,我们就已经完成了对知识库的建立,接下来,我们将更新apt package index并且安装Docker CE

sudo apt-get update && apt-get install docker-ce

然后这一步过后就是,等待安装等待安装,会下载很久,继续等待

安装完docker之后,当然我们需要验证一下我们所安装的是否成功

利用著名的hello-world 镜像来测验我们安装的docker是否成功

sudo docker run hello-world

如果得到如下的界面,证明docker安装成功

安装nvidia-docker

在下一步,我们将通过安装nvidia-docker来完成我们的工作,其是在docker中的一个plug来帮助容器在GPU环境下的使用

首先,我们需要将已有的nvidia-docker移除

docker volume ls -q -f driver=nvidia-docker |xargs -r -I{} -n1 docker ps -q -a -f volum={} | xargs -r docker sudo apt-get purge -y nvidia-docker

以前没有安装过的话这一步可以直接跳过

接下来,我们将加入必要的repository,然后更新apt package index

curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | \ sudo apt-key add – curl -s -L https://nvidia.github.io/nvidia-docker/ubuntu16.04/amd64/nvidia-docker.list | \ sudo tee /etc/apt/sources.list.d/nvidia-docker.list sudo apt-get update

最后,我们将安装nvidia-docker

sudo apt-get install -y nvidia-docker2 sudo pkill -SIGHUP dockerd

安装成功之后,对我们所安装的nvidia-docker进行验证

docker run --runtime=nvidia --rm nvidia/cuda nvidia-smi

如果这是你第一次用如下的指令,你可以看到docker正在尝试下载一些东西

到这里,整个安装步骤全部结束了

号外!在有一次服务器显卡崩了之后,重新安装显卡驱动之后,竟然“惊喜”地发现我的nvidia-docker环境竟然不在了,但是输入

docker version

时显示docker是存在的,因此就只需要按照前面的安装步骤安装nvidia-docker就可以,安装成功之后会发现之前根据dockerfile搭建的实验环境仍然是在的,万幸!

以上就是本文的全部内容,希望对大家的学习有所帮助。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • ubuntu服务器上快速部署docker的方法

    最近在学习docker,今天学习了一下ubuntu服务器上快速部署docker,所以,今天添加一点小笔记。

    砸漏
  • 安装docker和docker-compose实例详解

    6.鉴于国内网络问题,后续拉取 Docker 镜像十分缓慢,强烈建议安装 Docker 之后配置 国内镜像加速

    砸漏
  • docker初探 解决一切服务器环境问题

    docker很早就有了,网站事也是久仰大名。最近尝试了一下,发现出乎意料的好用!所以总结一下入门必备,给同样折腾docker的小白一点启示。

    砸漏
  • CentOS 7 安装gogs git代码服务器

    开源的代码服务器最牛的是github,有一个开源的实现是gitlab。 但是gitlab是用ruby写的,某些时候性能有问题。 有的时候使用的时候超级慢。代...

    botkenni
  • 单台docker主机部署和管理

    Portainer 是一个开源、轻量级 Docker 管理用户界面,基于 Docker API,可管理 Docker 主机或 Swarm 集群,支持最新版 Do...

    以谁为师
  • 【云+社区年度征文】我与腾讯云。

    我是一个程序员,因此比较需要一台自己的服务器,配置呢不需要太高,平时跑一些小项目,和数据库的测试。一次偶然的机会,接触到腾讯云,当时是一百元一年,一口气就买了三...

    崔笑颜
  • Deepin20安装docker

    deepin 属于 debain 系,跟 Ubuntu 相似,由国人开发。现在作为我的主力开发环境,使用下来还不错,虽不如 windows, mac 的整体流...

    caoayu
  • Docker入门(一)

    docker是一个用于开发,交付和运行应用程序的开放平台。docker能够将应用程序和基础架构分开,从而实现快速交付软件。通过利用docker的快速交付,测试和...

    故里
  • Docker笔记-安装配置

    sudo apt-get remove docker docker-engine docker.io containerd runc

    Spaceack
  • Linux Ceonto7安装Docker-CE并使用

    较旧的 Docker 版本称为 docker 或 docker-engine 。如果已安装这些程序,请卸载它们以及相关的依赖项。

    夹胡碰

扫码关注云+社区

领取腾讯云代金券