为实验室服务器创建多个独立的vnc虚拟机(容器),保证主机安全与数据隔离。
!!本项目停止维护,请使用最新版:https://github.com/kunxinz/labVm2 新版本特征为:
- 自主开发集群系统。基于Docker原生技术,容器可跨多主机运行,转移,存储。
- 自主开发云存储系统。基于MFS分布式技术、Overlayfs文件系统(二次开发)和Sersync同步技术(二次开发),具有网络性能依赖低,本地高速写入,云端异步同步,数据多历史版本管理、备份优点。
- 容器根文件隔离。可在主机直接访问整个容器系统(包括根目录),快速管理文件。
- 基于Nvidia-docker2技术,容器可直接挂载主机显卡,无需额外配置驱动和CUDA,用于深度学习快速开发。
- 轻量级环境隔离,支持硬件资源(CPU、IO、内存)分配。
- Web可视化容器管理和资源监控。
- 基于docker,轻量级环境隔离,比传统虚拟机损耗资源小,运行速度更快
- 基于nvidia-docker2,容器内可使用GPU进行深度学习计算(基于cuda9.2 和 cuda8.0 镜像)
- 支持计算资源分配(CPU、内存、硬盘IO,不支持GPU资源分配)
- web 可视化容器管理与资源监控
- 用户容器密码加密
ubuntu16.04 (其他平台未测试,理论上只要docker和nvidia-docker2安装成功即可)、
python3、
- docker >= 1.12 (https://www.docker.com/)
- GNU/Linux x86_64 with kernel version > 3.10
- NVIDIA GPU with Architecture > Fermi (2.1)
- NVIDIA drivers >= 387.26(cuda9.2), >=367.48(cuda8)
- nvidia-docker2 (https://github.com/NVIDIA/nvidia-docker)
从官网安装docker
从官网安装nvidia-docker2
# 也可直接安装文件夹内的deb包
# 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
venv/bin/python Server.py -c lab_vm.conf
- 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,docker-ce_18.06.1,nvidia-docker2_2.0.3