2025年虚拟机、容器与Docker技术对比.pdf
先天下之忧而忧,后天下之乐而乐。——范仲淹
我尽一杯,与君发三愿:一愿世清平,二愿身强健,三愿临老头,数与君相见。——《白居易》
虚拟机、容器与Docker技术对比
当前,在云计算领域,虚拟化技术发展日新月异,相关技术也不断突
破。计算资源的虚拟化,在近年来的云计算技术发展浪潮中,也涌现出了
新的思想和技术,容器(Container)和Docker就是在这样的背景下提出来
并发展起来的。本文对虚拟机、容器和Docker技术,做一个简单的对比
分析。
虚拟机技术是计算资源虚拟化过程中最先出现的技术,它是在物理主
机的操作系统之上,通过虚拟机管理软件,构建虚拟机,虚拟机具有一台
主机可以拥有的全部虚拟硬件。当或者然,随着虚拟机技术的发展,目
前主流上把物理主机操作系统和虚拟机管理软件合并成一层薄的管理层,
就是Monitor或者Hyper-visor,这大大提高了虚拟化的效率。
在云计算还不像现在这么火热之前,人们接触虚拟机还主要是为了满
足对于同时使用双(多)系统的需求。在云计算引入虚拟化概念之后,虚拟
机技术以其如下优点,成为云计算领域的当然选择。以至于VMware这
样靠虚拟机起步的公司,在多年摸爬滚打之后,成为云计算领域中重要的
方案提供商。
虚拟机技术的优点概括如下:
完全的虚拟化环境,每个虚拟机都有完整的操作系统、CPU、内存和
存储器资源。不同虚拟机之间是完全隔离的。
虚拟机可以使用与宿主不同的操作系统。
由于虚拟机之间很好的隔离机制,在云计算环境中,使用虚拟机技术
可以提供最高的安全级别。
但,随着应用规模的扩大,虚拟机技术的一些缺点也暴露出来,主要
有如下几点:
由于其实现机制要求虚拟机指令的执行,需通过宿主机操作系统转换
后才最终在硬件上执行,导致虚拟机效率低下,运行慢。这是最为人诟病
的缺点。
此外,虚拟机在启动的时候,要加载完整的操作系统,初始化虚拟资
源,导致启动速度漫长,这在云计算环境中,也是一大弊端。
正是虚拟机技术存在这些缺点,便有了技术进步的动力,容器技术开
其身正,不令而行;其身不正,虽令不从。——《论语》
百川东到海,何时复西归?少壮不努力,老大徒伤悲。——汉乐府
大丈夫处世,不能立功建业,几与草木同腐乎?——《罗贯中》
始被谈论、实现并且发展起来。
容器(LinuxContainer)其实并不是一个新的东西,在Linux界已经
存在多年了,它使用linux内核里名字空间(namespace)和控制组
(controlgroup)两项技术,把特定的进程有效的隔离起来。构造一个可
以提供给程序运行的环境。
容器看起来像虚拟机:有自己的运行空间,来运行它的进程,也可以
有自己的网络接口。容器可以直接用在裸机上,也可以作为虚拟机之上的
第二层容器引擎。容器有如下优点:
它可以看作是轻量版的虚拟机,虚拟的基本功能在容器上也都能实现。