现在讨论Docker安全性的话题颇多,主要集中在对使用容器方式的隔离性、攻击防护性等方面。

往往与虚拟机方式进行比较。

首先,从安全性上看,Docker容器的安全性比不上虚拟机,这点是毋庸置疑的。

容器内的应用可以直接访问到主机系统内核;而虚拟机中的应用首先要访问到虚拟机的操作系统,然后在经过hypervisor层才能访问到外部的系统。

而且,虚拟机方式在生产环境中经过诸多检验,更加成熟一些。


然而,从我的角度看,容器方式确实牺牲掉了部分的安全性,但却换来了高效性和灵活性。

且不说它的快速启动和关闭,以及对系统资源极少的需求。

光从内核机制上看,容器的安全性实际上完全依赖于内核。因此,一旦当内核发生问题时候,无论容器还是虚拟机都会出问题。

这个时候容器的优势就体现出来了,因为容器完全可以在正常运行中的同时,本地主机就可以给内核打上补丁或更换新内核。


另外,Linux的内核在安全性方面已经是十分成熟。下一步随着不必给容器分配root权限这方面的改进,Docker的安全问题将得到极大的缓解。

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐