大家好,我是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万字《阿里架构师进阶专题合集》里面。