针对现有容器化技术的流行开来,几乎每一家大点的公司,现在都开始使用虚拟化容器技术来实现程序的快速持续化构建过程,相信你在面试或者工作过程中应该常常听说过docker,devops,k8s,云服务器等等一系列的名词,那么从本章开始就为大家开始介绍容器化技术。希望对你有所帮助。
1、灵魂拷问。为什么要用容器化技术?
针对这个问题,这个举个北京单独出租和群组房的例子来说明:
角色设定:出租的房子=服务器 出租房子里面的房间=虚拟化容器 人=应用服务
阐述:在之前一个房子(假设出租房子没有修筑房间,整个是一个大的房间)只能出租给一个人(一台服务器只能部署一个应用)。优点:应用服务性能好。缺点:浪费空间,浪费空气(针对服务器浪费CPU,内存,硬盘)
在之后一个房子有多个房间,每个房子里面可以住一个人。(一台服务器利用容器化(隔房间)技术可以部署多个应用)。优点,最大程度利用服务器性能。缺点,容器本身也会占用服务器资源。
2、容器和虚拟化技术对比
2.1、虚拟机部署应用需要在服务器本身操作系统上单独安装虚拟机、然后在虚拟机上安装独立操作系统、最后在操作系统上部署应用。因为操作系统和虚拟机本身就占用很大资源。所以相对来说能安装的数量就变小了。
2.2、容器部署应用则共用服务器操作系统,docker实现应用的管理,极大的节省资源。能安装的数量自然就多了。
2.3、虚拟机应用实现的资源的完全隔离。而容器技术是进程的隔离。
2.4、应用程序运行的容器可以生成应用程序的模板文件。即容器镜像,可以实现一次生成,多处执行。
2.5、因为容器能根据镜像文件快速部署,所以能快速交付和部署应用,便于迁移和扩缩容。
2.6 容器启动时间是毫秒级或秒级,虚拟机因为要启动对应的操作系统所以是秒级或者分钟级别。
3、容器真正解决的问题
3.1 快速交付和部署(镜像文件)
3.2 资源的高效利用和隔离(占用资源少,可以实现高密度部署)
3.3 便捷迁移和扩缩容(一次构建,多出运行)
下期将为大家继续讲解 容器化技术的实现:docker。敬请期待.......