Docker和虚拟机有什么不同?哪个好?

Posted 老男孩IT教育

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Docker和虚拟机有什么不同?哪个好?相关的知识,希望对你有一定的参考价值。

  Docker是一种轻量级的虚拟化技术,比传统的虚拟机性能更好,但也有人认为虚拟机比Docker更好,那么Docker和虚拟机哪个好?相信不少人对此有所疑问,具体内容请看下文:

  Docker和虚拟机有各自擅长的领域,在软件开发、测试场景和生产运维场景中各有优劣势:

  1、Docker启动快速属于秒级别,虚拟机通常需要几分钟去启动;

  2、Docker需要的资源更少,Docker在操作系统级别进行虚拟化,Docker容器和内核交互,几乎没有性能损耗,而虚拟机就差了很多;

  3、Docker更轻量,Docker的架构可以共用一个内核与共享应用程序库,所占内存极小;同样的硬件环境,Docker运行的镜像数远多于虚拟机数量,对系统的利用率非常高;

  4、与虚拟机相比,Docker隔离性更弱,Docker属于进程之间的隔离,虚拟机可实现系统级别隔离;

  5、Docker的安全性也更弱,Docker的租户root和宿主机root相同,一旦容器内的用户从普通用户权限提升为root权限,它就直接具备了宿主机的root权限,进而可进行无限制的操作。虚拟机租户root权限和宿主机的root虚拟机权限是分离的,并且虚拟机利用如Intel的VT-d和VT-x的ring-1硬件隔离技术,这种技术可以防止虚拟机突破和彼此交互,而容器至今还没有任何形式的硬件隔离;

  6、Docker的集中化管理工具还不算成熟,各种虚拟化技术都有成熟的管理工具,比如:VMware vCenter提供完备的虚拟机管理能力;

  7、Docker对业务的高可用支持是通过快速重新部署实现的,虚拟化具备负载均衡,高可用、容错、迁移和数据保护等经过生产实践检验的成熟保障机制,Vmware可承诺虚拟机99.999%高可用,保证业务连续性;

  8、虚拟化创建是分钟级别的,Docker容器创建是秒级别的,Docker的快速迭代性,决定了无论是开发、测试、部署都可以节省大量时间;

  9、虚拟机可以通过镜像实现环境交付的一致性,但镜像分发无法体系化,Docker在Dockerfile中记录了容器构建过程,可在集群中实现快速分发和快速部署。

以上是关于Docker和虚拟机有什么不同?哪个好?的主要内容,如果未能解决你的问题,请参考以下文章

docker与虚拟机有何不同

Docker跟一般的虚拟机有啥区别

docker容器与虚拟机有啥区别?

Docker跟一般的虚拟机有什么区别

什么是虚拟机,要怎么用?

虚拟机与Docker有何不同