《基于Kubernetes的容器云平台实战》——1.2 为什么要用Docker
1.2 为什么要用Docker
虚拟化及容器化是云计算的两大技术,Docker中应用的就是容器技术。要讨论为何使用Docker,首先要理解为何要使用容器技术。说到容器技术的优点时都会谈到虚拟机,并且都会同其进行对比,具体如图1-1所示。
图1-1 虚拟机与容器的比较
一般来说,虚拟机通过模拟硬件环境,并启动完整的操作系统为应用运行提供独占环境,因此其中需要安装Guest OS。与此相反,容器是主机操作系统上的进程虚拟化,容器镜像中并不需要OS内核,因此也不需要安装Guest OS,只需要应用运行相关的库和文件就可以了,而容器实例中各种虚拟设备都会由运行时环境在启动实例时准备好。这就造成了其占用系统资源少、系统损耗小、启动快的直观效果,同时在系统采购成本上自然也会降低。
另外结合图1-1中右侧表格里的各项对比信息,可以进一步总结出一些优选容器或者说优选Docker的原因(当然,这是一个见仁见智的领域,很难有真正的“先知”):
1)更轻量:容器是进程级的资源隔离,虚拟机是操作系统级的资源隔离,容器比虚拟机节省更多的资源开销。
2)更快速:容器实例创建和启动无需启动Guest OS,实现秒级/毫秒级的启动。
3)更好的可移植性:容器技术(Docker)将应用程序及其所依赖的运行环境打包成标准的容器镜像,进而发布到不同的平台上运行,实现应用在不同平台上的移植。
4)更容易实现自动化:镜像构建和镜像上传/下载都可以自动化实现;容器生态系统中的编排工具所具备的多版本部署能力可以在更高层次上对容器化应用的自动化测试和部署过程进行优化。
5)更方便的配置:用户可利用外部数据卷挂载能力,为容器在多种环境下的平滑运行提供保障;还可通过环境变量、域名解析配置等方式动态配置容器。
6)更容易管理:可以在既有镜像基础上利用分层特性,增量式地构建新的镜像。这种维护操作很容易实现自动化和标准化,因此也更容易加以管理。
不过,充分地理解和运用Docker技术可帮助用户更好地实现信息化过程中的很多目标,比如更高效地利用系统资源,更快地收回投资,减少成本支出;敏捷的软件开发模式和高效的软件交付能力;更轻松的维护和扩展;持续的交付和部署等,这恐怕也是Docker引擎已经拥有数百万忠实用户的原因了。
- 点赞
- 收藏
- 关注作者
评论(0)