网站首页 文章专栏 安装nvidia-docker
本文主要介绍安装docker-ce与nvidia-docker的过程。注意不是docker.io, 因为nvidia-docker是基于docker-ce的,ce比io要新。
sh
sudo apt-get install \
apt-transport-https \
ca-certificates \
curl \
software-properties-common
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"
sh
sudo apt-get update
sh
sudo apt-get install docker-ce
sh
sudo docker run hello-world
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
sh
sudo apt-get install nvidia-docker2
sh
sudo service docker restart
sh
nvidia-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用户组。
测试时使用deepo,这是一个比较全的深度学习环境,支持gpu和cpu版本,支持几乎所有的深度学习工具,支持cuda的版本为8.0-10.0
运行下面的命令会拉取最新的image,但是有10G大小,我们可以找到合适的tag,只拉取我们需要的版本。
sh
docker pull ufoym/deepo
下面是适合cuda8的keras & tensorflow环境
sh
docker pull ufoym/deepo:keras-py36-cu80
常规命令运行(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()
由nvidia提供,内容丰富,包含了tensorflow,pytorch以及matlab
TODO:
- [ ] 增加设置docker用户组的链接
- [ ] 增加设置docker registry-mirrors的链接