如果Container技术这么好那我们是不是可以完全抛弃虚拟机,所有虚拟机原有的使用场景全部改用Container呢?
答案是不行!因为Container也有他的局限性,这主要有两方面的原因:
-
第一是Container技术本身;
-
第二是使用Container的应用场景上。
一、Container技术本身的不足**
Container技术本身最大的问题就是安全性。
在之前文章中提到,Container是共用操作系统的,一个物理的服务器上会跑几百上千个Container,甚至在某些数据中心里面可能会跑几万个、几十万个Container。那如果操作系统出现漏洞怎么办(并不能排除这种情况)?只要利用操作系统的漏洞,黑客可以迅速的把所有Container全部搞掉。
还是跟虚拟化技术对比,为什么虚机要安全的多。
以KVM为例,KVM在内核里就是两个模块,所以它的安全性要比你整个操作系统的安全性要高的多。此外,在硬件辅助虚拟化技术中,指令在执行时各个虚拟机之间指令执行的路径也是相互隔离的,所以虚拟机的安全性比Container的安全性要高很多。