由于Docker相比于虚拟机,在诸多方面有着的明显的优势,所以仅仅数年时间,就完成了从诞生,到兴起,再到主流的蜕变,这无疑也是对其在软件开发中卓越贡献的肯定。以下为二者区别的概述:
1. 操作系统方面
与虚拟机不同,Docker不需要在宿主机的系统之上再运行新的系统,虚拟机会根据需要加载不同的系统,这些功能完备的系统大小往往高达数个GB,而Docker则是微型的Linux系统,其没有硬件的虚拟化资源,大小仅为百兆,在运行时与宿主机共享OS,因此启动速度达到秒级,而虚拟机则为分钟级。
2. 储存大小方面
Docker容器的镜像很小,非常方便存储和传输,运维工程师可以分分中完成下载和运行,而对于虚拟机来说,它的镜像,如vmdk、vdi等,就显得十分庞大,往往在10G以上,传输和存储十分不便。
3. 运行性能方面
无论是在服务器和本地PC上运行,Docker几乎没有性能的损失,不浪费原本就很珍贵的资源,所以即使是“小霸王”,也能跑的起来。
而虚拟机则需要消耗大量的、额外的CPU和内存资源,在打开idea的情况下,再跑一到两个Linux,一般的机器肯定是可以体验到如集成显卡打单机一般的酸爽了。
4. 移植性方面
Docker容器轻便、灵活、适应于Linux,而虚拟机相对笨重,与虚拟化技术的耦合度非常高,因此移植性相对较差。
5. 部署速度
Docker的部署往往在按下回车的谈笑之间,而虚拟机的部署则需要再加上一支烟。
6. 功能方向方面
Docker致力于给软件开发者带来便捷,可以很大程度上促进DevOops模式的发展。而相对笨重的虚拟机则专注于为硬件运维者提供服务。
(在这个软件爆发的时代,硬件的发展很大程度上被忽略,软件有高工资,有大量的新晋人才,一个大牛带着个位数人员团队干个几个月就可以拿到投资,闪亮登场。而硬件技术发展相对需要付出巨大的成本,难见成效,因而关注较少,往往只有大佬级公司才会有资金和精力去研究硬件。而硬件,才是信息时代的根基啊。)
————————————————
版权声明:本文为CSDN博主「达希希」的原创文章,遵循 CC 4.0 BY 版权协议,转载请附上原文出处链接及本声明。