概述
前面介绍了。因为虚拟机中Guest OS开销太大,会造成隔离的虚机越多资源被浪费的就越多的情况出现。所以有人就会想,可不可以不启动Guest OS,而是直接使用Host OS来模拟一个相对完整的操作系统呢。这样就不需要再在Host OS上跑Guest OS,按照这个思路,逐渐发展出来了操作系统级的虚拟化技术,就是利用操作系统本身的功能来实现虚拟化,这就是Container技术 。结构如下图(以Docker为例):
一、Container技术及其历史
Container技术也可以在完整服务器上隔离出多个完整的小的资源格子出来,且互相之间资源是隔离的。但它利用的是操作系统本身的功能,所以在每个小格里面不需要再去运行Guest Os 了,这部分资源的开销就被省下来了,尽可能把资源提供出来供实际的应用使用 。
虽然Container技术提供了这样的功能,但是Container技术在被发明的很长时间内都没有得到广泛的应用。原因在于:虽然它提供了这样的功能但是,各个应用所需的环境不同,相对完整的操作系统环境要怎么定义呢,这个环境要配成什么样才能算是完整的环境?
1.1、Container技术的困境
如上图中所示,如果虚拟化出三个小格子,且其中运行不同的应用,前两个应用使用Python