大家好,我是mikechen。 Docker是非常火爆的云原生容器,但是很多并不清楚Docker与虚拟机的区别,下面我就全面来详解Docker与虚拟机的5大区别 本篇已收于mikechen原创超30万字《阿里架构师进阶专题合集》里面。 虚拟机虚拟机VM是物理硬件的抽象,它将一台服务器变成很多服务器。 虚拟机管理程序允许多个VM在单台计算机上运行,每个VM均包含操作系统。 DockerDocker是一个开源项目,诞生于 2013 年初,最初是 dotCloud 公司内部的一个业余项目,它基于 Google 公司推出的 Go 语言实现。 容器是应用程序层的抽象,将代码和依赖项打包在一起,如下图所示: 多个容器可以在同一台计算机上运行,并与其他容器共享其OS内核,每个容器在用户空间中作为隔离的进程运行。 Docker和虚拟机区别如下图分别是Docker与虚拟机的实现框架对比: 比较上面两张图,docker与虚拟机的区别,主要包含如下几点: 1.携带内容不同 虚拟机是携带操作系统,本身很小的应用程序却因为携带了操作系统而变得非常大很笨重。 Docker是不携带操作系统的,所以Docker的应用就非常的轻巧。 2.启动速度不同 docker 启动快速属于秒级别,虚拟机通常需要几分钟去启动。 3.性能损耗不同 docker 需要的资源更少,docker 在操作系统级别进行虚拟化,docker 容器和内核交互,几乎没有性能损耗。 4.系统利用率不同 Docker对系统资源的利用率很高,一台主机上可以同时运行数千个 Docker 容器。 容器除了运行其中应用外,基本不消耗额外的系统资源,使得应用的性能很高,同时系统的开销尽量小。 传统虚拟机方式运行 10 个不同的应用就要起 10 个虚拟机,而Docker 只需要启动 10 个隔离的应用即可。 5.管理部署不同 使用 Docker只需要小小的修改,就可以替代以往大量的更新工作,所有的修改都以增量的方式被分发和更新,从而实现自动化并且高效的管理。 本篇已收于mikechen原创超30万字《阿里架构师进阶专题合集》里面。 |
点击查看更多