在大学实验室环境中管理Docker容器

时间:2018-08-23 13:09:38

标签: docker sysadmin

在大学实验室环境中是否有适当的方法来管理和配置Docker容器?

我要求安装docker,以便可以为一个项目进行实验,但是在与我们的sysadmin交谈之后,这似乎非常复杂。想知道SO是否有任何见识。

一些需要处理的异常:

  • 学生将下载图像,这可能是不好的
  • 学生可能会无限期地运行图片
  • 对于联网/ IO /其他情况,某些容器将需要提升的特权
  • 学生将制作图像,因此图像可能有问题,如果为docker提供了粘性权限位或提升的用户组,则可能会导致违反

想到的一种解决方案是,仅允许学生使用虚拟机监控程序,即可在其中安装所需的任何软件,包括docker(我们目前无法这样做),但这有点绕过了轻量级容器的优势。

1 个答案:

答案 0 :(得分:1)

您sysdmins的担忧是合理的,但是使用Docker应该仅对您现有的安全实践进行一些细微的改进。

如果您的学生今天可以从这些计算机上访问互联网,则他们可以:

  • 下载可能不好的二进制文件
  • 让进程无限期地运行
  • 可能要求具有更高特权的进程
  • 可能会创建错误的|不安全的二进制文件

容器在计算机上的进程之间提供了一些分区,但是实际上发生的所有事情是创建名称空间并在其中运行linux进程。名称“容器”有点误导,ps aux会向您显示在计算机上为用户运行的所有进程(包括所有基于容器的进程)。

所以...假设您仍然需要控制哪些学生正在从Internet下载以及他们在计算机上的角色:

  • 私有映像注册表可以在云端或本地使用
  • 注册表可以与漏洞工具结合使用,以帮助识别不良图像
  • 整理学生的“会话”也将涵盖Docker容器中的过程
  • 特权升级并不复杂(不同但不复杂)
  • 在裸机上使用某种形式的VM虚拟化是一个好主意
  • 如果您使用的是基于云的VM(或容器),则可以轻松销毁它们

我发现Docker负担重重的一个领域是管理容器的生命周期(rm旧容器,整理映像),但这应该是可管理的。