为实验室服务器创建多个独立的vnc虚拟机(容器),保证主机安全与数据隔离。
- 基于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
docker_srv/venv/bin/python docker_srv/Server.py
- 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