写在最前
因为做实验一些汇编工具的使用需要低版本的操作系统,因此决定使用docker虚拟机进行操作(宿主操作系统为Ubuntu16.04)另外最近忙于科研,有很多东西没有记录到博客里,等有时间会整理一下
介绍
docker其实就是一个轻量级的虚拟机,和一般虚拟机不同的是没有图形化界面,但是启动快,占用资源少并且体积很小(比如我用的这个Ubuntu+cuda镜像只有几百M而已)。可以理解成一个ssh到别人电脑上只有命令行的状态。
安装
安装也很简单,首先如果你以前电脑上有docker,需要先卸载掉:
sudo apt-get remove docker docker-engine docker.io
然后
curl -fsSL https://download.docker.com/linux/$(. /etc/os-release; echo "$ID")/gpg | sudo apt-key add -
然后进行安装:
sudo add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/$(. /etc/os-release; echo "$ID") \
$(lsb_release -cs) \
stable"
# 从源里安装
sudo apt-get update
sudo apt-get install docker-ce
不过这样安装可能会特别慢或者根本就装不上,那就需要修改source.list
deb [arch=amd64] http://ipv6.mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/ xenial stable
最后将用于加入到docker组里
sudo usermod -aG docker username
至此docker就安装完成了,里面如果有些不成功请在命令前加sudo
NVIDIA-docker
nvidia-docker的好处就是可以共享GPU资源
第一步还是卸载掉以前的nvidia-docker
docker volume ls -q -f driver=nvidia-docker | xargs -r -I{} -n1 docker ps -q -a -f volume={} | xargs -r docker rm -f
sudo apt-get purge -y nvidia-docker
然后是将源加入到source.list中(不成功请加sudo)
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-docker2
sudo apt-get install -y nvidia-docker2
sudo pkill -SIGHUP dockerd
装好之后我们需要下载对应的包:
从这里找到需要的包之后,使用docker pull nvidia/cuda:(版本号)的方法将需要的镜像pull下来
最后使用
docker run --runtime=nvidia --rm nvidia/cuda:7.5-runtime nvidia-smi
如果输入GPU信息说明镜像安装成功
一些命令
查看image文件:docker images
运行
docker run -v /home/fish/GPU/docker/cuda7.5:/home/nvidia/7.5/ --name cuda7.5 -it nvidia/cuda:7.5-devel /bin/bash
这个就是相当于将你当前宿主的一个目录映射到docker下,然后定义成什么名字,-t就是指定你要运行的哪个镜像,-i就是绑定到虚拟机的tty,要不一运行就结束了
原理讲解
这个教程了解一下,比较直观。