Ubuntu 18.04安装Docker CE + NVIDIA-Docker

容器将应用程序封装到隔离的虚拟环境中,以简化数据中心的部署。通过将所有应用程序依赖项 (例如二进制文件和库) 都包括在内,应用程序容器能在任何数据中心环境中无缝地运行。

英伟达基于Docker 提供的NVIDIA-Docker可用于容器化 GPU 加速的应用程序。这意味着无需进行任何修改即可轻松容器化和隔离加速的应用程序,并将其部署到任何受支持的、可使用 GPU 的基础架构上。 管理和监控加速的数据中心将变得空前容易。

 

一、安装Docker

在前面的博文中,我们已经介绍了在Ubuntu系统中安装GPU环境的方法,对于还没有完成这些前提步骤的读者,可以参考:

《在Ubuntu 18.04安装NVIDIA GPU驱动》

《在Ubuntu 18.04中配置GPU环境:安装CUDA 9.0等》

你可以在命令行输入 nvcc --version来查看一下当前环境下的CUDA版本,如下图所示:


这部分主要参考官网上关于Docker的文档页“Get Docker CE for Ubuntu”,同样推荐读者查阅。我们基本是按照其中的步骤进行安装的。有时,Ubuntu上会默认安装有Docker。若先前有安装Docker,则需要先卸载(写在的方法在官方文档上有详细介绍)。为了确定本机上没有安装Docker,执行命令: docker run hello-world。如下所示,可见我的机器上并没有安装Docker,所以可以继续后面的步骤。

首先用下面的命令更新apt 包的索引:

$ sudo apt-get update

如下图所示:

 

 

 把Docker仓库加进到apt里,反斜杠\代表一行,只是换行写更清晰:

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

如下图所示:

 

 

 添加Docker的官方GPG key:

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

验证当前你所拥有的key的指纹是9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88,方法是搜索指纹中的后八个字符。

$ sudo apt-key fingerprint 0EBFCD88

然后用下面的语句来建立稳定的仓库:

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

如下图所示:

 

 

 接下来正式安装docker:

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

如下图所示:

 

 

 最后一个命令是验证docker是否安装成功,它会下载并执行hello-world镜像。如果安装正确,执行后的结果应该类似下面这样:

 

 

 二、安装NVIDIA-Docker

安装完成Docker并检查安装正确(能跑出来hello-world)后,如果需要Docker容器中有GPU支持,需要再安装NVIDIA-Docker,同样参考该项目的主页(链接)。

可以看到在Quick start小节,选择我们Ubuntu的发行版,依次执行命令:

# Add the package repositories
curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | \
  sudo apt-key add -
distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | \
  sudo tee /etc/apt/sources.list.d/nvidia-docker.list
sudo apt-get update

如下图所示:

 

 正式安装NVIDIA-Docker:

# Install nvidia-docker2 and reload the Docker daemon configuration
sudo apt-get install -y nvidia-docker2
sudo pkill -SIGHUP dockerd

用最新的CUDA镜像来测试一下nvidia-smi(检查是否安装成功,安装成功,则会显示关于GPU的信息)。

# Test nvidia-smi with the latest official CUDA image
docker run --runtime=nvidia --rm nvidia/cuda:9.0-base nvidia-smi

如下图所示:

 

posted @ 2020-01-28 21:29  AnswerThe  阅读(1297)  评论(0编辑  收藏  举报