前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >安装nvidia-docker

安装nvidia-docker

作者头像
羽翰尘
修改2019-11-26 16:01:35
3.4K0
修改2019-11-26 16:01:35
举报
文章被收录于专栏:技术向技术向

本文由腾讯云+社区自动同步,原文地址 http://blogtest.stackoverflow.club/article/install_nvidia_docker/

前言

本文主要介绍安装docker-ce与nvidia-docker的过程。注意不是docker.io, 因为nvidia-docker是基于docker-ce的,ce比io要新。

安装docker-ce

安装软件包以允许apt通过HTTPS使用存储库:

代码语言:txt
复制
sudo apt-get install \
    apt-transport-https \
    ca-certificates \
    curl \
    software-properties-common

添加Docker的官方GPG密钥

代码语言:txt
复制
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

设置稳定的存储库

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

更新apt软件包索引

代码语言:txt
复制
sudo apt-get update

安装最新版本的Docker CE

代码语言:txt
复制
sudo apt-get install docker-ce

测试docker-ce

代码语言:txt
复制
sudo docker run hello-world

安装nvidia-docker

增加nvidia-docker存储库

代码语言:txt
复制
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

代码语言:txt
复制
sudo apt-get install nvidia-docker2

重启docker

代码语言:txt
复制
sudo service docker restart

测试nvidia-docker

确认是否已经安装nvidia-docker

代码语言:txt
复制
nvidia-docker

没有报错就表明安装成功

将当前用户加入docker组

代码语言:txt
复制
sudo usermod -aG docker $USER
sudo service docker restart
# 重新登录
sudo su
exit

加入docker组是为了不用sudo命令也行运行docker。

在ubuntu16.04上测试正常,但是在ubuntu18.04上发现不行,测试运行newgrp docker可以。该命令是用新用户组重新登录,将它写入~/.bashrc就可以实现自动登入docker用户组。

拉取合适的image

测试时使用deepo,这是一个比较全的深度学习环境,支持gpu和cpu版本,支持几乎所有的深度学习工具,支持cuda的版本为8.0-10.0

运行下面的命令会拉取最新的image,但是有10G大小,我们可以找到合适的tag,只拉取我们需要的版本。

代码语言:txt
复制
docker pull ufoym/deepo

下面是适合cuda8的keras & tensorflow环境

代码语言:txt
复制
docker pull ufoym/deepo:keras-py36-cu80

运行交互shell

常规命令运行(docker run …)是不行的,我们要带上前缀,即nvidia-docker run …

代码语言:txt
复制
nvidia-docker run --rm -it ufoym/deepo:keras-py36-cu80 bash

输入测试程序

进入python环境

代码语言:txt
复制
python

输入代码

代码语言:txt
复制
import tensorflow as tf
a = tf.constant('hello world')
sess = tf.Session()
sess.run(a)
sess.close()

尝试其他docker image

由nvidia提供,内容丰富,包含了tensorflow,pytorch以及matlab

TODO:

  • 增加设置docker用户组的链接
  • 增加设置docker registry-mirrors的链接
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-06-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 安装docker-ce
    • 安装软件包以允许apt通过HTTPS使用存储库:
      • 添加Docker的官方GPG密钥
        • 设置稳定的存储库
          • 更新apt软件包索引
            • 安装最新版本的Docker CE
              • 测试docker-ce
              • 安装nvidia-docker
                • 增加nvidia-docker存储库
                  • 安装nvidia-docker
                    • 重启docker
                    • 测试nvidia-docker
                      • 确认是否已经安装nvidia-docker
                        • 将当前用户加入docker组
                          • 拉取合适的image
                            • 运行交互shell
                              • 输入测试程序
                                • 尝试其他docker image
                                相关产品与服务
                                容器服务
                                腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
                                领券
                                问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档