docker和虚拟机的区别

Z, ZLW 2136

docker和虚拟机的区别有:1、启动速度不同;2、占用资源不同;3、隔离性不同;4、安全性不同;5、可管理性不同;6、⾼可⽤和可恢复性;7、创建、删除速度不同;8、交付部署不同。其中,启动速度不同是指docker启动速度属于秒级别,虚拟机通常需要几分钟去启动。

1、启动速度不同

docker:启动 Docker 相当于启动宿主操作系统上的一个进程,启动速度属于秒级别。

虚拟机:启动虚拟机需要先启动虚拟机的操作系统,再启动应用,这个过程非常慢,通常需要几分钟。

2、占用资源不同

docker:Docker 只是一个进程,只需要将应用以及相关的组件打包,在运行时占用很少的资源,一台机器可以开启成千上万个 Docker。

虚拟机:虚拟机是一个完整的操作系统,需要占用大量的磁盘、内存和 CPU 资源,一台机器只能开启几十个的虚拟机。

3、隔离性不同

docker:docker隔离性更弱,docker属于进程之间的隔离。

虚拟机:虚拟机隔离性更强,可实现系统级别隔离。

4、安全性不同

docker:docker的安全性更弱。Docker的租户root和宿主机root等同,一旦容器内的用户从普通用户权限提升为root权限,它就直接具备了宿主机的root权限,进而可进行无限制的操作,容器至今还没有任何形式的硬件隔离,这使得容器容易受到攻击。

虚拟机:虚拟机租户root权限和宿主机的root虚拟机权限是分离的,并且虚拟机利用如Intel的VT-d和VT-x的ring-1硬件隔离技术,这种隔离技术可以防止虚拟机突破和彼此交互。

5、可管理性不同

docker:docker的集中化管理⼯具还不算成熟。

虚拟机:各种虚拟化技术都有成熟的管理⼯具,例如VMware vCenter提供完备的虚拟机管理能⼒。

6、高可用和可恢复性

docker:docker对业务的⾼可⽤⽀持是通过快速重新部署实现的。

虚拟机:虚拟化具备负载均衡,⾼可⽤,容错,迁移和数据保护等经过⽣产实践检验的成熟保障机制,VMware可承诺虚拟机99.999%⾼可⽤,保证业务连续性。

7、创建、删除速度不同

docker:Docker容器创建是秒级别的,Docker的快速迭代性,决定了⽆论是开发、测试、部署都可以节约⼤量时间。

虚拟机:虚拟化创建是分钟级别的。

8、交付部署不同

docker:Docker在Dockerfile中记录了容器构建过程,可在集群中实现快速分发和快速部署。

虚拟机:虚拟机可以通过镜像实现环境交付的⼀致性,但镜像分发⽆法体系化。

拓展阅读

docker的使用场景

  • 持续集成:持续集成指的是频繁地将代码集成到主干上,这样能够更快地发现错误。Docker 具有轻量级以及隔离性的特点,在将代码集成到一个 Docker 中不会对其它 Docker 产生影响。
  • 提供可伸缩的云服务:根据应用的负载情况,可以很容易地增加或者减少 Docker。
  • 搭建微服务架构:Docker 轻量级的特点使得它很适合用于部署、维护、组合微服务。

回复

我来回复
  • 暂无回复内容

注册PingCode 在线客服
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部