docker和虚拟机的区别

docker和虚拟机的区别

docker 在概念上可以理解为一个虚拟机,但却不是真正意义上的虚拟机
docker和虚拟机的区别_第1张图片

1、docker 更少的抽象层
2、docker 利用主机内核,虚拟机是Guest OS

docker和虚拟机的区别_第2张图片

相同点:

容器和虚拟机一样,都会对物理硬件资源进行共享使用。

容器和虚拟机的生命周期比较相似(创建、运行、暂停、关闭等等)。

容器中或虚拟机中都可以安装各种应用,如redis、mysql、nginx等。也就是说,在容器中的操作,如同在一个虚拟机(操作系统)中操作一样。

同虚拟机一样,容器创建后,会存储在宿主机上:linux上位于/var/lib/docker/containers下

不同点:

虚拟机的创建、启动和关闭都是基于一个完整的操作系统。一个虚拟机就是一个完整的操作系统。而容器直接运行在宿主机的内核上,其本质上以一系列进程的结合

容器是轻量级的,虚拟机是重量级的。首先容器不需要额外的资源来管理(不需要Hypervisor、Guest OS),虚拟机额外更多的性能消耗;其次创建、启动或关闭容器,如同创建、启动或者关闭进程那么轻松,而创建、启动、关闭一个操作系统就没那么方便了。
也因此,意味着在给定的硬件上能运行更多数量的容器,甚至可以直接把Docker运行在虚拟机上。

你可能感兴趣的:(docker,docker)