Skip to content
forked from kunxinz/lab_vm

Create virtual machine on a server from docker(support deep learning)

Notifications You must be signed in to change notification settings

sysu-imsl/lab_vm

 
 

Repository files navigation

实验室虚拟机 (lab_vm, laboratory virtual machine)

为实验室服务器创建多个独立的vnc虚拟机(容器),保证主机安全与数据隔离。

特点

  • 基于docker,轻量级环境隔离,比传统虚拟机损耗资源小,运行速度更快
  • 基于nvidia-docker2,容器内可使用GPU进行深度学习计算(基于cuda9.2 和 cuda8.0 镜像)
  • 支持计算资源分配(CPU、内存、硬盘IO,不支持GPU资源分配)
  • web 可视化容器管理与资源监控
  • 用户容器密码加密

运行平台

ubuntu16.04 (其他平台未测试,理论上只要docker和nvidia-docker2安装成功即可)、
python3、

安装条件

安装步骤

安装docker 和 nvidia-docker2

官网安装docker
官网安装nvidia-docker2
# 也可直接安装文件夹内的deb包

载入lab_vm镜像

# cuda9.2 镜像
docker pull kunxinz/lab-vm:xfce_cuda9.2
# cuda8.0 镜像
docker pull kunxinz/lab-vm:xfce_cuda8.0
# 除了从docker hub下载,镜像也可通过docker_file文件夹自行修改构建:
# docker build -f docker_file/Dockerfile.for_git -t lab_vm:xfce_cuda8_git docker_file

运行Server.py 文件。至此,lab_vm安装完毕

docker_srv/venv/bin/python docker_srv/Server.py

基本使用步骤

打开浏览器,输入127.0.0.1:28125,即可访问web页面

fig_lab_vm_index

按照页面提示进行注册

fig_lab_vm_index

注册成功后如图所示

fig_register_done

使用vnc连接端口31021,输入vnc密码,连接成功

fig_vnc_view

执行nvidia_smi,若成功则表示虚拟机可使用显卡

fig_nvidia_test

ps

  • cuda8.0镜像支持tensorflow版本为1.3.0-1.4.1,对应cudnn版本6.0
  • cuda9.2镜像支持tensorflow版本为1.5.0-1.10.0,对应cudnn版本7.0
  • 可修改lab_vm.conf配置文件来更改相应参数
  • 虚拟机不支持硬件opengl
  • nvidia驱动对docker支持不完善,服务器重启容易造成驱动崩溃,需要重装驱动,建议如无必要,不要重启服务器
  • 建议更改/etc/docker/daemon.json文件,将docker的dns设为国内的dns以加速访问
  • 以上测试平台信息为ubuntu16.04,python3.5,1080Ti,driver_ver=390.67

贡献者

kunxinzyuna~KenLeeLimkuan、 hetao

About

Create virtual machine on a server from docker(support deep learning)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 99.4%
  • Other 0.6%