Docker和虚拟机有什什么区别?

Posted 四猿外

tags:

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

1、虚拟机:我们传统的虚拟机需要模拟整台机器包括硬件,每台虚拟机都需要有自己的操作系统,虚拟机一旦被开启,预分配给他的资源将全部被占用。,每一个虚拟机包括应用,必要的二进制和库,以及一个完整的用户操作系统。

2、Docker:容器技术是和我们的宿主机共享硬件资源及操作系统可以实现资源的动态分配。容器包含应用和其所有的依赖包,但是与其他容器共享内核。容器在宿主机操作系统中,在用户空间以分离的进程运行行。

3、对比:

  1. docker启动快速属于秒级别。虚拟机通常需要几分钟去启动。
  2. docker需要的资源更更少,docker在操作系统级别进行行虚拟化,docker容器和内核交互,几乎没有性能损耗,性能优于通过Hypervisor层与内核层的虚拟化。;
  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容器与虚拟机区别

docker与虚拟机有何不同