在现代计算环境中,虚拟机 (VM) 和容器是两个最流行的虚拟化技术。它们都有自己的优势和劣势,在选择正确的技术时了解它们>如果您需要运行安卓应用程序,则 AVM 是唯一的选择。
容器:容器是轻量级的操作系统级虚拟化,可以让我们在一个资源隔离的进程中运行应用及其依赖项 。 运行应用程序所必需的组件都将打包成一个镜像并可以复用。 执行镜像时,它运行在一个隔离环境中,并且不会共享宿主机的内存、CPU 以及磁盘,这就保证了容器内进程不能监控容器外的任何进程。 容器内的应用进程直接运行于宿主的内核,容器内没有自己的内核,而且也没有进行硬件虚拟,而是对进程进行封装隔离。 虚拟机:通常包含整个操作系统及其应用程序,同时也需要运行一个hypervisor来控制虚拟机。 虚拟一套硬件后, 在其上运行一个完整操作系统,在该系统上在运行所需应用进程 容量大小: 虚拟机:大小一般是几个G, 容器:容器是轻量级的而且大小在 M 以内 性能: 虚拟机:启动操作系统以及初始化托管应用会花费几分钟的时间 容器:表现更加出色,并且几乎可以秒启动。 架构: 1. 敏捷环境:容器技术最大的优点是创建容器实例比创建虚拟机示例快得多,容器轻量级的脚本可以从性能和大小方面减少开销。 2. 提高生产力:容器通过移除跨服务依赖和冲突提高了开发者的生产力。 每个容器都可以看作是一个不同的微服务,因此可以独立升级,而不用担心同步。 3. 版本控制:每一个容器的镜像都有版本控制,这样就可以追踪不同版本的容器,监控版本之间的差异等等。 4. 运行环境可移植:容器封装了所有运行应用程序所必需的相关的细节比如应用依赖以及操作系统。 这就使得镜像从一个环境移植到另外一个环境更加灵活。 比如,同一个镜像可以在 Windows 或 Linux 或者 开发、测试或 stage 环境中运行。 5. 标准化: 大多数容器基于开放标准,可以运行在所有主流 Linux 发行版、Microsoft 平台等等。 6. 安全:容器之间的进程是相互隔离的,其中的基础设施亦是如此。 这样其中一个容器的升级或者变化不会影响其他容器。 1. 复杂性增加:随着容器及应用数量的增加,同时也伴随着复杂性的增加。 在生产环境中管理如此之多的容器是一个极具挑战性的任务,可以使用Kubernetes和Mesos等工具管理具有一定规模数量的容器。 2. 原生 Linux 支持:大多数容器技术,比如Docker,基于 Linux 容器(LXC),相比于在原生 Linux 中运行容器,在 Microsoft 环境中运行容器略显笨拙,并且日常使用也会带来复杂性。 3. 不成熟:容器技术在市场上是相对新的技术,需要时间来适应市场。 开发者中的可用资源是有限的,如果某个开发者陷入某个问题,可能需要花些时间才能解决问题。 操作系统容器 :如维基百科中所述,“操作系统层虚拟化是一种计算机虚拟化技术,这种技术将操作系统内核虚拟化,可以允许多个独立用户空间的存在,而不是只有一个。 这些实例有时会被称为容器、虚拟引擎、虚拟专用服务器或是 jails(FreeBSD jail 或者 chroot jail)。 从运行在容器中的程序角度来看,这些实例就如同真正的计算机。 ” 如上所述,容器共享宿主机的内核,但是提供用户空间隔离。 我们可以像在宿主机操作系统上一样,在容器中安装、配置以及运行应用程序。 相似的是,分配给容器的资源仅对自己可见。 就好比是,任何虚拟机不能获取其他虚拟机的资源。 当需要配置大量具有相同配置的操作系统时,操作系统容器就会非常有用。 因此,容器有助于创建模板,可以用于创建与另一个操作系统类似风格的容器。 要创建操作系统容器,我们可以利用容器技术,如 LXC,OpenVZ,Linux VServer,BSD Jails 和 Solaris 区域。 应用容器 :如维基百科所述,“应用程序虚拟化是从其所执行的底层操作系统封装计算机程序的软件技术。 一个完全虚拟化的应用,尽管仍像原来一样执行,但是并不会进行传统意义上的安装。 应用在运行时的行为就像它直接与原始操作系统以及操作系统所管理的所有资源进行交互一样,但可以实现不同程度的隔离或者沙盒化。 ” 在这种情况下,术语 “虚拟化” 是指被封装的工件(应用程序),这与其在硬件虚拟化中的含义截然不同,其中它涉及被抽象的工件(物理硬件)。 应用程序容器旨在作为单个进程进行打包和运行服务,而在 OS 容器中,可以运行多个服务和进程。 容器技术如 Docker 和 Rocket 就是应用程序容器的示例。
因为安卓系统占用内部空间比较小,而且安卓采用的是Java技术,所以非常适合虚拟机的运行,而且能发挥出很高的效率。沙盒占空间比较大,但是内存占用比较小,所以运行速度快,但是它是一个独立的运行机制,所以对系统架构要求高。
沙盒运行机制和虚拟机运行机制,其实大家看字面上不是专业人士肯定不是太懂,说简单一些,这两个其实就是手机的运行机制的一种,沙盒运用在IOS,也就是苹果手机上会多一些,另外一种虚拟机运用在安卓系统手机上的比较多。这两个运行机制其实都非常的不错,各有各的优缺点,而且目前市面上这两款运用到的是最多。其实对手机来说,它们的运行机制效率都非常高,所以之间并没有存在太多的差异。但是消费者体验上可能会有不同的看法。
沙盒运行机制,它对内存占领比较小,而空间占领比较大,就像苹果手机一样,可能系统软件就占了很多手机的空间。所以买苹果手机肯定要买大一点储存机型,不然下载不了多少软件。但是这个运行机制,它的运算速度非常的快,而且也特别的稳定,它是一个独立的运行机制,它也不允许第三方的后台软件更改或者独立执行手机的内部文件,所以这就是为什么用苹果手机的人都说苹果手机用久了也不会卡顿的原因。
虚拟机运行机制,它是运用自身的系统建立了一个虚拟的计算机世界,很多文件或者是第三方软件,都可以在这个虚拟计算机世界里运行,从而达到更多软件的兼容性,而且操作起来也更为的方便。它也不会主动阻止第三方软件修改系统文件,但是会通过动态指令发出操作界面,让操作者自己选择,所以时间长了会让手机变得卡顿的原因,但是这种虚拟机运营机制非常适合安卓的Java技术。
Docker有着小巧、迁移部署快速、运行高效等特点,但隔离性比服务器虚拟化差:不同的集装箱属于不同的运单(Docker上运行不同的应用实例),相互独立(隔离)。 但由同一个库管人员管理(主机操作系统内核),因此通过库管人员可以看到所有集装箱的相关信息(因为共享操作系统内核,因此相关信息会共享)。 服务器虚拟化就好比在码头上(物理主机及虚拟化层),建立了多个独立的“小码头”—仓库(虚拟机)。 其拥有完全独立(隔离)的空间,属于不同的客户(虚拟机所有者)。 每个仓库有各自的库管人员(当前虚拟机的操作系统内核),无法管理其它仓库。 不存在信息共享的情况因此,我们需要根据不同的应用场景和需求采用不同的方式使用Docker技术或使用服务器虚拟化技术。 例如一个典型的Docker应用场景是当主机上的Docker实例属于单一用户的情况下,在保证安全的同时可以充分发挥Docker的技术优势。
容器技术有很多种,Docker是目前最流行的一种,网易云也在使用Docker。 服务器虚拟化解决的核心问题是资源调配,而容器解决的核心问题是应用开发、测试和部署。 虚拟机技术通过Hypervisor层抽象底层基础设施资源,提供相互隔离的虚拟机,通过统一配置、统一管理,计算资源的可运维性,以及资源利用率都能够得到有效的提升。 同时,虚拟机提供客户机操作系统,客户机变化不会影响宿主机,能够提供可控的测试环境,更能够屏蔽底层硬件甚至基础软件的差异性,让应用做到的广泛兼容。 然而,再牛逼的虚拟化技术,都不可避免地出现计算、IO、网络性能损失,毕竟多了一层软件,毕竟要运行一个完整的客户机操作系统。 容器技术严格来说并不是虚拟化,没有客户机操作系统,是共享内核的。 容器可以视为软件供应链的集装箱,能够把应用需要的运行环境、缓存环境、数据库环境等等封装起来,以最简洁的方式支持应用运行,轻装上阵,当然是性能更佳。 Docker镜像特性则让这种方式简单易行。 当然,因为共享内核,容器隔离性也没有虚拟机那么好。 但是,更重要的是,通过Docker的特性,以容器化封装为基础,企业就可以很好地实现云原生(向云而生的架构),包括大家听得耳朵都起茧子的微服务架构、DevOps,让开发团队可以从苦逼的运维工作中解脱,让应用快速上线、快速迭代。 微服务架构下,将系统拆分成多个服务,每个部分都可以独立开发测试部署,同时我们也可以只扩展需要扩展的部分,也就是变一个三头六臂的哪吒,而不是总要变三个孙悟空。 微服务如何设计,基于容器的规模部署、高可用如何实现等,是另外的问题了。
1、容器与虚拟机拥有着类似的使命:对应用程序及其关联性进行隔离,从而构建起一套能够随处运行的自容纳单元。 此外,容器与虚拟机还摆脱了对物理硬件的需求,允许我们更为高效地使用计算资源,从而提升能源效率与成本效益。 2、虚拟机会将虚拟硬件、内核(即操作系统)以及用户空间打包在新虚拟机当中,虚拟机能够利用“虚拟机管理程序”运行在物理设备之上。 虚拟机依赖于hypervisor,其通常被安装在“裸金属”系统硬件之上,这导致hypervisor在某些方面被认为是一种操作系统。 一旦 hypervisor安装完成, 就可以从系统可用计算资源当中分配虚拟机实例了,每台虚拟机都能够获得唯一的操作系统和负载(应用程序)。 简言之,虚拟机先需要虚拟一个物理环境,然后构建一个完整的操作系统,再搭建一层Runtime,然后供应用程序运行。 3、对于容器环境来说,不需要安装主机操作系统,直接将容器层(比如LXC或libcontainer)安装在主机操作系统(通常是Linux变种)之上。 在安装完容器层之后,就可以从系统可用计算资源当中分配容器实例了,并且企业应用可以被部署在容器当中。 但是,每个容器化应用都会共享相同的操作系统(单个主机操作系统)。 容器可以看成一个装好了一组特定应用的虚拟机,它直接利用了宿主机的内核,抽象层比虚拟机更少,更加轻量化,启动速度极快。 4、相比于虚拟机,容器拥有更高的资源使用效率,因为它并不需要为每个应用分配单独的操作系统——实例规模更小、创建和迁移速度也更快。 这意味相比于虚拟机,单个操作系统能够承载更多的容器。 云提供商十分热衷于容器技术,因为在相同的硬件设备当中,可以部署数量更多的容器实例。 此外,容器易于迁移,但是只能被迁移到具有兼容操作系统内核的其他服务器当中,这样就会给迁移选择带来限制。 因为容器不像虚拟机那样同样对内核或者虚拟硬件进行打包,所以每套容器都拥有自己的隔离化用户空间,从而使得多套容器能够运行在同一主机系统之上。 我们可以看到全部操作系统层级的架构都可实现跨容器共享,惟一需要独立构建的就是二进制文件与库。 正因为如此,容器才拥有极为出色的轻量化特性。
容器与虚拟机区别:容器:创建在操作系统上,程序级,将容器安装在操作系统之上,共享相同的操作系统,直接利用操作系统的内核。 虚拟机:创建在操作系统上,操作系统级,拥有唯一的操作系统和负载,依赖于hypervisor。 容器:快速创建/部署应用,实例小,镜像的创建更加容易,集群规模大。 虚拟机:创建过程相对复杂,需要创建操作系统和应用,实例大,集群规模小。 容器:持续开发、集成和部署,提供可靠且频繁的容器镜像构建/部署,支持快速和简单的回滚虚拟机:支持持续开发,集成和部署,但是实现过程复杂度高,自动化水平相对低,支持复杂的快照回滚。 容器:开发和运行相分离,在build或者release阶段创建容器镜像,使得应用和基础设施解耦。 虚拟机:支持多段构建,对镜像要求较高,过程耦合度高。 容器:开发,测试和生产环境一致性,在本地或外网运行的一致性。 虚拟机:自定义镜像即可达成环境一致性容器:云平台或其他操作系统,可以在 Ubuntu、RHEL、 CoreOS、on-prem、Google Container Engine或其它任何环境中运行。 虚拟机:可在几乎所有操作系统上运行。 容器:监控水平低,缺乏完善的监控平台。 虚拟机:监控水平高,众多监控较为完善。 容器:Loosely coupled,分布式,弹性伸缩,微服务化,应用程序分为更小的、独立的部件,可以动态部署和管理。 虚拟机:分布式,弹性伸缩,基础设施化,应用程序较大,支持复杂度高的优化,独立部件,动态部署和管理。 容器:安全性目前一般,软件隔离,资源隔离,更高效资源利用效率。 虚拟机:安全性高,硬件隔离,资源隔离,资源利用效率比容器低,性能依赖硬件提供的虚拟化技术。
相比于虚拟机,容器拥有更高的资源使用效率,因为它并不需要为每个应用分配单独的操作系统——实例规模更小、创建和迁移速度也更快。 这意味相比于虚拟机,单个操作系统能够承载更多的容器。 容器内的应用进程直接运行于宿主的内核,容器内没有自己的内核,而且也没有进行硬件虚拟,而是对进程进行封装隔离。 容器可以看成一个装好了一组特定应用的虚拟机,它直接利用了宿主机的内核,它相对于虚拟机而言,抽象层更少,更加轻量化以及启动速度更快等等。 云容器拥有着更高的资源使用效率,这是虚拟机所不能比拟的。 容器是完全使用沙箱机制,相互之间不会有任何接口(类似iPhone的app)。 几乎没有性能开销,可以很容易地在机器和数据中心中运行。 最重要的是,他们不依赖于任何语言、框架包括系统。 与虚拟机相比,docker隔离性更弱,docker属于进程之间的隔离,虚拟机可实现系统级别隔离。 安全性:docker的安全性也更弱。 启动快,容器里面的应用,直接就是底层系统的一个进程,而不是虚拟机内部的进程。 所以启动容器相当于启动本机的一个进程,而不是启动一个操作系统,速度就快很多。
效率提升其实虚拟机带来的远不止这些,还有开发、运维、测试各部门之间的催化作用,带来生生效率的提升。例如通过虚拟化,运维可以给开发、测试快速部署隔离的测试环境,在上线前通过充分的测试,来避免产品Bug。
如果购买更少的服务器,则将减少资本支出和维护成本。
从基本的服务器整合开始,服务器虚拟化有许多好处。通过在单个硬件上整合多个应用程序,减少数据中心所需的服务器总数。服务器数量越少,框架和网络设备的数量就越少。
从基本的服务器整合开始,服务器虚拟化有诸多好处。你可以在单个硬件上将多个应用程序联合起来,从而减少数据中心所需的服务器的总的数量。
虚拟化可以节省过多的电力成本使用更大的IT基础架构的公司基本上需要在其电力成本上花费更多。较少的IT硬件显然会节省大量的电力费用。服务器,台式机和存储单元等设备必然会耗费大量电力来保持运行。
计算机服务器虚拟化是提升资源利用率的主要途径,也可以对能耗进行合理的管理。
docker和虚拟机的区别有:虚拟机启动需要数分钟,而Docker容器可以在数毫秒内启动,由于没有臃肿的从操作系统,Docker可以节省大量的磁盘空间以及其他系统资源;虚拟机更擅长于彻底隔离整个运行环境。
①docker容器很快,启动和停止均可以在秒级实现,相比传统的虚拟机需要数分钟要快得多。②docker对系统资源需求很少,一台主机上可以同时运行数千个docker容器。
三:体积小,轻量级:容器只需要包含用到的组件,对比于虚拟机,容器文件要比虚拟机小很多。四:方便移动:容器技术最重要的就是为不同的主机上运行服务一个轻便,一致的格式。
Docker启动快,容器里面的应用,直接就是底层系统的一个进程,而不是虚拟机内部的进程。所以启动容器相当于启动本机的一个进程,而不是启动一个操作系统,速度就快很多。
相比于虚拟机,容器拥有更高的资源使用效率,因为它并不需要为每个应用分配单独的操作系统——实例规模更小、创建和迁移速度也更快。这意味相比于虚拟机,单个操作系统能够承载更多的容器。
容器内的应用进程直接运行于宿主的内核,容器内没有自己的内核,而且也没有进行硬件虚拟,而是对进程进行封装隔离。
容器可以看成一个装好了一组特定应用的虚拟机,它直接利用了宿主机的内核,它相对于虚拟机而言,抽象层更少,更加轻量化以及启动速度更快等等。云容器拥有着更高的资源使用效率,这是虚拟机所不能比拟的。
容器是完全使用沙箱机制,相互之间不会有任何接口(类似iPhone的app)。几乎没有性能开销,可以很容易地在机器和数据中心中运行。最重要的是,他们不依赖于任何语言、框架包括系统。
与虚拟机相比,docker隔离性更弱,docker属于进程之间的隔离,虚拟机可实现系统级别隔离。安全性:docker的安全性也更弱。
启动快,容器里面的应用,直接就是底层系统的一个进程,而不是虚拟机内部的进程。所以启动容器相当于启动本机的一个进程,而不是启动一个操作系统,速度就快很多。
VPS技术,将一部服务器分割成多个虚拟专享服务器的优质服务。每个VPS都可分配独立公网IP地址、独立操作系统、独立超大空间、独立内存、独立CPU资源、独立执行程序和独立系统配置等。
vps是什么VPS(VirtualPrivateServer虚拟专用服务器)技术,将一台服务器分割成多个虚拟专享服务器的优质服务。实现VPS的技术分为容器技术,和虚拟化技术。
VPS是虚拟服务器的意思.他是通过软件在独立服务器上划分出来的一部分资源.从而虚拟出一个服务器.他拥有独立的IP.独立的操作系统.以及用户名和密码。
虚拟专用服务器(VPS)简介TOP什么是VPS?VirtualPrivateServer(VPS)即虚拟专用服务器,是在一台物理服务器上创建多个相互隔离的虚拟专用服务器。这些虚拟专用服务器以最大化的效率共享硬件、软件许可证以及管理资源。
VPS是英文“VirtualPrivateServer”的缩写,是指虚拟专用服务器。VPS为使用者提供了管理配置的自由,可用于企业虚拟化,也可以用于IDC资源租用。VPS主机是一项服务器虚拟化和自动化技术,它采用的是操作系统虚拟化技术。
1、容器:开发,测试和生产环境一致性,在本地或外网运行的一致性。虚拟机:自定义镜像即可达成环境一致性容器:云平台或其他操作系统,可以在Ubuntu、RHEL、CoreOS、on-prem、GoogleContainerEngine或其它任何环境中运行。
2、容器可以看成一个装好了一组特定应用的虚拟机,它直接利用了宿主机的内核,它相对于虚拟机而言,抽象层更少,更加轻量化以及启动速度更快等等。云容器拥有着更高的资源使用效率,这是虚拟机所不能比拟的。
3、容器内的应用进程直接运行于宿主的内核,容器内没有自己的内核,而且也没有进行硬件虚拟,而是对进程进行封装隔离。
1、理论上完全可以的,但目前我所接触到的生产方案基本上都是docker在虚机集群上跑。看系统的要求了。docker不可能完全替代全部,windows服务器不可以,软件系统没有使用docker重新加载的,也是很难的。
2、不会的:简单的说docker是个容器引擎,虚拟机是虚拟化的平台两者虽然实现的东西差不多,但是本质上是有很大差距的。应用场景不同选择也会不同所以不会取代的。
3、Docker是一个开源的应用容器引擎,可以让开发者将自身的应用或者软件移植到镜像中,然后发布到任何一个Windows机器或者Linux机器上,当然Docker也可以实现虚拟化。
4、Docker容器是一个开源的应用容器引擎,可以让开发者用统一的形式打包其自身的应用,然后包装到一个可以移植的容器中,随后发布到任何可以安装Docker引擎的服务器上(比如主流的Linux机器或者是Windows机器),当然也可以实现虚拟化。
5、docker作为一种轻量级的虚拟化方式,其在运行应用上跟传统的虚拟机相比具有如下显著优势:①docker容器很快,启动和停止均可以在秒级实现,相比传统的虚拟机需要数分钟要快得多。
我们传统的虚拟机需要模拟整台机器包括硬件,每台虚拟机都需要有自己的操作系统,虚拟机一旦被开启,预分配给他的资源将全部被占用,每一个虚拟机包括应用,必要的二进制和库,以及一个完整的用户操作系统。 容器技术是和我们的宿主机共享硬件资源及操作系统可以实现资源的动态分配。 容器包含应用和其所有的依赖包,但是与其他容器共享内核。 容器在宿主机操作系统中,在用户空间以分离的进程运行。 虚拟机和容器都是在硬件和操作系统以上的,虚拟机有 Hypervisor 层,Hypervisor 是整个虚拟机的核心所在。 它为虚拟机提供了虚拟的运行平台,管理虚拟机的操作系统运行。 每个虚拟机都有自己的系统和系统库以及应用。 容器没有 Hypervisor 这一层,并且每个容器是和宿主机共享硬件资源及操作系统,那么由 Hypervisor 带来性能的损耗,在 linux 容器这边是不存在的。 但是虚拟机技术也有其优势,能为应用提供一个更加隔离的环境,不会因为应用程序的漏洞给宿主机造成任何威胁。 同时还支持跨操作系统的虚拟化,例如你可以在 linux 操作系统下运行 windows 虚拟机。 从虚拟化层面来看,传统虚拟化技术是对硬件资源的虚拟,容器技术则是对进程的虚拟,从而可提供更轻量级的虚拟化,实现进程和资源的隔离。 从架构来看,Docker 比虚拟化少了两层,取消了 hypervisor 层和 GuestOS 层,使用 Docker Engine 进行调度和隔离,所有应用共用主机操作系统,因此在体量上,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 中记录了容器构建过程,可在集群中实现快速分发和快速部署;
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 中记录了容器构建过程,可在集群中实现快速分发和快速部署;
本文地址:http://www.hyyidc.com/article/24798.html