0.虚拟化出来的是一个完整的操作系统,是建立在一个虚拟化软件(非操作系统)的基础上,直接分配着硬件资源,而docker是建立在docker引擎的基础上,docker引擎是在操作系统的基础上的;
1.docker的启动时间是秒级的,而kvm、esxi等虚拟化的虚拟机启动的分钟级的;
2.docker是轻量级(M)的,而虚拟机是重量级(G)的,docker占用的资源少,容器的部署要比虚拟机快很多,容器的性能增加接近物理机,虽然如kvm、esxi等是硬件意义上的虚拟化,但是容器轻量到系统的一个进程级别,没有了虚拟机中一个完整操作系统的开销,所以docker得性能是更高的;
3.安全性方面,因为docker是共享虚拟机内核,只是进程级别的隔离,而虚拟机是一个完整的操作系统,所以在隔离性和稳定性方面docker容器是不如虚拟机的,因为虚拟机是不能访问(物理机的)的,而容器具有一定的访问物理机(宿主机)的权限;
4.虚拟化需要硬件的支持,比如CPU需要支持虚拟化,而docker不用考考虑(因为其实共享宿主机);