虚拟机和Docker区别详解(4大核心区别)

大家好,我是mikechen。

Docker和虚拟机在云计算经常被涉及到,但很多并不清楚两者的核心区别,下面我重点谈谈两者的4大区别@mikechen

本文作者:陈睿|mikechen

文章来源:mikechen.cc

虚拟机

虚拟机(VM) ,是一种运行在物理硬件之上的软件模拟计算机系统。

通过虚拟化技术,让多个操作系统可以同时运行在一台物理主机上,各自拥有“独立”的 CPU、内存、磁盘、网络等资源。

简单说,虚拟机就是在真实计算机上“模拟出另一台计算机”。

Docker

Docker 是一个开源的容器化平台,用于打包、发布和运行应用程序。

Docker,通过操作系统层的虚拟化技术,将应用与其依赖环境封装成一个“容器(Container)”,确保可以在任何环境中一致地运行。

简单理解:Docker 就像一个“集装箱系统”,可以把应用 + 运行环境一起打包,然后在任何地方、任何机器上“开箱即用”。

Docker 在操作系统层进行虚拟化,它通过 Docker 引擎(Docker Engine)共享宿主机的操作系统内核。

这就相当于在你的电脑上的操作系统里,划分出了很多个相互隔离的空间,在这些空间里运行不同的应用程序。


Docker和虚拟机区别

1.虚拟化层级不同

虚拟机是模拟完整的操作系统,而Docker是模拟应用运行环境。


2.资源开销高

虚拟机资源高(每个都要完整 OS),Docker轻量(共享宿主内核)。


3.启动速度不同

虚拟机启动速度慢(分钟级),而Docker启动速度快(秒级,甚至毫秒)。


4.使用场景不同

虚拟机安全性要求高、适合传统 IT 场景,而Docker移植性(高),适合:微服务、DevOps、云原生...等场景。

以上

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

原文链接:,转发请注明来源!