51Testing软件测试论坛

标题: Docker与虚拟化 [打印本页]

作者: 司格特    时间: 2018-3-8 16:07
标题: Docker与虚拟化
核心知识点:

1.虚拟化的定义?虚拟化的核心和目标?

2.虚拟化的分类?Docker属于那种虚拟化?

3.Docker与传统虚拟化的区别?docker是直接在操作系统上实现虚拟化,直接复用本地操作系统。





虚拟化技术是一个通用的概念,在不同领域有不同的理解。

在计算机领域,一般指的是计算机虚拟化,或通常说的服务器虚拟化。

维基百科上的定义如下:“虚拟化是一种资源管理技术,是将计算机的各种实体资源,  (虚拟化
的定义)

如服务器、网络、内层及存储等,予以抽象、转换后呈现出来,打破实体结构间不可切割的障碍,

使用户可以比原本的组态更好的方式来应用这些资源。”



可见虚拟化的核心是对资源的抽象,目标往往是为了在同一个主机上同时运行多个系统或者应用,

从而提高系统资源的利用率,并且带来降低成本、方便管理和容错容灾等好处。



从大类上分,虚拟化技术可分为基于硬件的虚拟化和基于软件的虚拟化。

其中,真正意义上的基于硬件技术的虚拟化技术不多见,少数如网卡中的单根多IO虚拟化等技术。



基于软件的虚拟化从对象所在的层次,又可分为应用虚拟化和平台虚拟化(通常说的虚拟技术即
属于这个范畴)。

其中,前者一般指的是一些模拟设备或诸如Wine这样的软件。平台虚拟化又可分为如下几类:

(1)完全虚拟化:虚拟机模拟完整的底层硬件环境和特权指令的执行过程,客户操作系统无需
进行修改。

  例如,IBM p和z系列的虚拟化、VMware Workstation、VirtualBox、QEMU等;

(2)硬件辅助虚拟化:利用硬件(主要是CPU)辅助支持(目前x86体系结构上可用的硬件辅助
虚拟化技术包括Intel-VT和AMD-V),

  处理敏感指令来实现完全虚拟化的功能,客户操作系统无需修改,例如 VMware Workstation
、Xen、KVM。

(3)部分虚拟化:只针对部分硬件资源进行虚拟化,客户操作系统需要进行修改。现在有些虚拟
化技术的早期版本仅支持部分虚拟化。

(4)准虚拟化:部分硬件接口以软件的形式提供给客户机操作系统,客户操作系统需要进行修改
,例如早期的Xen。

(5)操作系统级虚拟化:内核通过创建多个操作系统的实例(内核和库)来隔离不同的进程。容
器相关技术即在这个范畴。
[attach]111716[/attach]
可见,Docker以及其他容器技术,都属于操作系统这个范畴,操作系统虚拟化最大的特点就是不
需要额外的supervisor支持。

Docker虚拟化方式之所以有众多优势,这与操作系统虚拟化技术自身的设计和实现是分不开的。
[attach]111717[/attach]
传统方式是在硬件层面实现虚拟化,需要有额外的虚拟机管理应用和虚拟机操作系统层。

Docker容器是在操作系统层面上实现虚拟化,直接复用本地主机的操作系统,因此更加轻量级。


作者: 梦想家    时间: 2018-5-14 08:46
学习




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2