在软件开发方面,由于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模式的发展。而相对笨重的虚拟机则专注于为硬件运维者提供服务。

在这个软件爆发的时代,硬件的发展很大程度上被忽略,软件有高工资,有大量的新晋人才,一个大牛带着个位数人员团队干个几个月就可以拿到投资,闪亮登场。而硬件技术发展相对需要付出巨大的成本,难见成效,因而关注较少,往往只有大佬级公司才会有资金和精力去研究硬件。而硬件,才是信息时代的根基啊。

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐