前言以及注意事项
- 这样的优势,每个用户只需要用容器跑任务即可,这样隔离了每个人的环境,极大的降低对于物理机的依赖以及环境影响。但是也一定的依赖用户对于自己所创建的images以及容器的管理。
- 适用于公司内,单个服务器多用户(类似实验室,或者高校等使用环境) ,基于docker,实现服务器的高效运维。
- 服务器端在硬件资源足够的基础上要求:系统健康无暗病,一般情况根目录的容量要足够,若用户人数多,在装系统的时候,/var下以及/home 的容量一定要注意,尽可能预留够大的空间。驱动以及docker、nvidia-docker安装,并且正常使用,sudo权限控制在少有的账号上。
维护
- 使用过程中, 需要“一起写“,或者tim的”协同文档“ 辅助记录用户等相关信息(名字、用户名、以及项目,所用端口等)。
- 创建用户只需两步, 1、用adduser 建立用户,设置密码 。2、 用gpasswd命令将用户添加入docker组,使其拥有docker 的root权限
使用
- 用户先登记协同文档,记录所使用相关信息,联系管理员创建拥有docker的root权限的用户
- 准备自己所需要的资源,代码,数据集,image等所需文件,上传到自己用户文件夹下
- 登陆服务器,检查是否有自己所需要的镜像,入没有,用docker load 或者docker pull 导入/拉取所需要的images文件,此处建议是自己准备好images,然后load入服务器。
- 如若之前启动过容器,用docker ps -a 查看是否有自己的容器,入没有,用docker run 将所用镜像启动为容器,启动过程中,注意端口的映射和路径的映射,端口冲突。如果有,停止状态用docker start启动,后台状态用 docker exec进入。
- 一般情况下,此处就可以完成正常的任务以及使用, 需要用户注意的是,对于自己的images以及容器的管理与定时清理备份,管理员只需要监管容器和images即可。
注:
1、局域网内最好有nfs文件服务器,将大一点的文件的压力交给nfs服务器,极大的方便文件管理以及服务器在接受用户数据集时候的网络压力。
2、可以利用nvidia-smi监控GPU情况,对于长期占用资源的人进行通知,或者停止 。
思路还在完善,如果有更好的建议可以告知,感谢阅读。