Docker与虚拟机的区别(5大核心区别详解)

Docker与虚拟机的区别(5大核心区别详解)

大家好,我是mikechen。

Docker是超级火爆的云原生容器,但是许多并不清楚Docker与虚拟机的区别,下面我就全面来详解Docker与虚拟机的5大区别

本篇已收于mikechen原创超30万字《阿里架构师进阶专题合集》里面。

Docker与虚拟机的区别(5大核心区别详解)

虚拟机

虚拟机VM是物理硬件的抽象,它将一台服务器变成许多服务器。

虚拟机管理程序允许多个VM在单台计算机上运行,每个VM均包含操作系统。

Docker与虚拟机的区别(5大核心区别详解)

Docker

Docker与虚拟机的区别(5大核心区别详解)

Docker是一个开源项目,诞生于 2013 年初,最初是 dotCloud 公司内部的一个业余项目,它基于 Google 公司推出的 Go 语言实现。

容器是应用程序层的抽象,将代码和依赖项打包在一起,如下图所示:

Docker与虚拟机的区别(5大核心区别详解)

多个容器可以在同一台计算机上运行,并与其他容器共享其OS内核,每个容器在用户空间中作为隔离的进程运行。

Docker和虚拟机区别

如下图分别是Docker与虚拟机的实现框架对比:

Docker与虚拟机的区别(5大核心区别详解)

Docker与虚拟机的区别(5大核心区别详解)

比较上面两张图,docker与虚拟机的区别,主要包含如下几点:

1.携带内容不同

虚拟机是携带操作系统,本身很小的应用程序却由于携带了操作系统而变得超级大很笨重。

Docker是不携带操作系统的,所以Docker的应用就超级的轻巧。

2.启动速度不同

docker 启动快速属于秒级别,虚拟机通常需要几分钟去启动。

3.性能损耗不同

docker 需要的资源更少,docker 在操作系统级别进行虚拟化,docker 容器和内核交互,几乎没有性能损耗。

4.系统利用率不同

Docker对系统资源的利用率很高,一台主机上可以同时运行数千个 Docker 容器。

容器除了运行其中应用外,基本不消耗额外的系统资源,使得应用的性能很高,同时系统的开销尽量小。

传统虚拟机方式运行 10 个不同的应用就要起 10 个虚拟机,而Docker 只需要启动 10 个隔离的应用即可。

5.管理部署不同

使用 Docker只需要小小的修改,就可以替代以往大量的更新工作,所有的修改都以增量的方式被分发和更新,从而实现自动化并且高效的管理。

本篇已收于mikechen原创超30万字《阿里架构师进阶专题合集》里面。

Docker与虚拟机的区别(5大核心区别详解)

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享
戴帽子的报童的头像 - 宋马社区
评论 共1条

请登录后发表评论