欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  网络运营

docker与虚拟机的对比分析

程序员文章站 2022-04-15 20:00:20
什么是docker?docker是很轻量级的虚拟化技术,与我们的物理机共享硬件资源,实现资源的动态分配。是一个开源的应用容器引擎,可以将应用直接进行打包移植到其他另外的平台,不依赖任何的语言和系统。Docker是使用时下很火的Golang语言进行开发的,其技术核心是Linux内核的Cgroup,Namespace和AUFS类的Union FS等技术,Docker通过这些底层的Linux技术,对Linux进程进行封装隔离,而被隔离的进程也被称为容器,完全独立于宿主机的进程。dock.....

什么是docker?

docker是很轻量级的虚拟化技术,与我们的物理机共享硬件资源,实现资源的动态分配。是一个开源的应用容器引擎,可以将应用直接进行打包移植到其他另外的平台,不依赖任何的语言和系统。Docker是使用时下很火的Golang语言进行开发的,其技术核心是Linux内核的Cgroup,Namespace和AUFS类的Union FS等技术,Docker通过这些底层的Linux技术,对Linux进程进行封装隔离,而被隔离的进程也被称为容器,完全独立于宿主机的进程。

docker与虚拟机的对比分析

 

 

docker的优势:

  • Docker 启动快速属于秒级别。虚拟机通常需要几分钟去启动。
  • Docker 需要的资源更少。Docker 在操作系统级别进行虚拟化,Docker 容器和内核交互,几乎没有性能损耗,性能优于通过 Hypervisor 层与内核层的虚拟化。
  • Docker 更轻量。Docker 的架构可以共用一个内核与共享应用程序库,所占内存极小。同样的硬件环境,Docker 运行的镜像数远多于虚拟机数量,对系统的利用率非常高。
  • 与虚拟机相比,Docker 隔离性更弱。Docker 属于进程之间的隔离,虚拟机可实现系统级别隔离。
  • 安全性。Docker 的安全性也更弱,Docker 的租户 Root 和宿主机 Root 等同,一旦容器内的用户从普通用户权限提升为 Root 权限,它就直接具备了宿主机的 Root 权限,进而可进行无限制的操作。
  • 虚拟机租户 Root 权限和宿主机的 Root 虚拟机权限是分离的,并且虚拟机利用如 Intel 的 VT-d 和 VT-x 的 ring-1 硬件隔离技术。
  • 这种隔离技术可以防止虚拟机突破和彼此交互,而容器至今还没有任何形式的硬件隔离,这使得容器容易受到攻击。
  • 可管理性。Docker 的集中化管理工具还不算成熟。各种虚拟化技术都有成熟的管理工具,例如 VMware vCenter 提供完备的虚拟机管理能力。
  • 高可用和可恢复性。Docker 对业务的高可用支持是通过快速重新部署实现的。
  • 虚拟化具备负载均衡,高可用,容错,迁移和数据保护等经过生产实践检验的成熟保障机制, VMware 可承诺虚拟机 99.999% 高可用,保证业务连续性。
  • 快速创建、删除。虚拟化创建是分钟级别的,Docker 容器创建是秒级别的,Docker 的快速迭代性,决定了无论是开发、测试、部署都可以节约大量时间
  • 交付、部署。虚拟机可以通过镜像实现环境交付的一致性,但镜像分发无法体系化。Docker 在 Dockerfile 中记录了容器构建过程,可在集群中实现快速分发和快速部署。

什么是虚拟化技术?

谈到计算机的虚拟化技术,我们直接想到的便是虚拟机,虚拟机允许我们在一台物理计算机模拟出多台机器,简单地理解,虚拟化技术就是在一台物理计算机上,通过中间虚拟软件层Hypervisor隔离CPU、内存等硬件资源,虚拟出多台虚拟服务器,这样做的话,一台物理服务器便可以安装多个应用程序,达到资源利用的最大化,而且多个应用之间相互隔离。

docker与虚拟机的对比分析

虚拟机技术的优点:

1.将资源分配给不同的虚拟机,使得硬件资源利用率最大化

2.更加容易扩展应用

3.可以快速搭建服务

虚拟机技术的缺点:

虚拟机技术更加消耗硬件资源,因为在创建每个虚拟机时都需要模拟出一套完整的操作系统,而这模拟出的每台虚拟机都需要占用大量的物理机资源。

 

容器虚拟化与常规虚拟化的区别:

docker与虚拟机的对比分析

并且容器是在操作系统上实现的虚拟化,而虚拟机是在硬件层面实现的虚拟化。

本文地址:https://blog.csdn.net/lemontree0526/article/details/107396002

相关标签: 原著 docker