网站首页 文章专栏 安装nvidia-docker
安装nvidia-docker
创建于:2019-06-03 07:34:25 更新于:2024-12-03 16:44:18 羽瀚尘 1078
docker docker


前言

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

安装docker-ce

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

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

添加Docker的官方GPG密钥

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

设置稳定的存储库

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

更新apt软件包索引

sh sudo apt-get update

安装最新版本的Docker CE

sh sudo apt-get install docker-ce

测试docker-ce

sh sudo docker run hello-world

安装nvidia-docker

增加nvidia-docker存储库

sh 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

sh sudo apt-get install nvidia-docker2

重启docker

sh sudo service docker restart

测试nvidia-docker

确认是否已经安装nvidia-docker

sh nvidia-docker
没有报错就表明安装成功

将当前用户加入docker组

”`sh
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.png

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

sh docker pull ufoym/deepo

下面是适合cuda8的keras & tensorflow环境
sh docker pull ufoym/deepo:keras-py36-cu80

运行交互shell

常规命令运行(docker run …)是不行的,我们要带上前缀,即nvidia-docker run …
sh nvidia-docker run --rm -it ufoym/deepo:keras-py36-cu80 bash

输入测试程序


进入python环境
sh python
输入代码
py import tensorflow as tf a = tf.constant('hello world') sess = tf.Session() sess.run(a) sess.close()

尝试其他docker image

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

2114

TODO:
- [ ] 增加设置docker用户组的链接
- [ ] 增加设置docker registry-mirrors的链接