基于Docker技术的容器隔离性研究

2015-06-19 09:04刘思尧李强李斌
软件 2015年4期
关键词:虚拟化

刘思尧 李强 李斌

摘要:Docker的核心思想是利用扩展的LXC(Linux Container)方案实现一种轻量级的虚拟化解决方案。Docker主要利用kernelnamespace来实现容器的虚拟化隔离性,保证每个虚拟机中服务的运行环境的隔离。Docker的隔离机制降低了内存开销,保证了虚拟化实例密度。本文从Docker的工作原理出发,详细分析了Docker的虚拟化隔离技术和容器隔离方案的实现。

关键词:Docker;LXC;虚拟化;隔离性

中图分类号:TP311 文献标识码:A DOI:10.3969/j.issn.1003-6970.2015.04.025

0.引言

Docker是PaaS提供商dotCloud开源的一个基于LXC(Linux Container)的应用容器引擎,让开发者可以将应用程序、依赖的运行库文件打包并移植到一个新的容器中,然后发布到任何系统为Linux的机器上,也可以实现虚拟化解决方案。容器是完全沙箱机制的实现方式,任意容器之间不会有任何接口,具有安全访问资源的特性,可以实现系统的隔离;而且容器的运行资源开销小,可以很容易地在机器和数据中心中运行。最重要的是Docker容器不依赖于任何特定需求实现的编程语言、编程框架或已打包的系统。Docker目前在业界非常受欢迎,包括dotCloud,Google Compute Engine和百度应用引擎(BAE),都使用了Docker。

LXC是一种共享Kernel的操作系统级别的虚拟化解决方案,通过在执行时不重复加载内核,且虚拟容器(container)与宿主机(Host)之间共享内核来加快启动速度和减少内存消耗。Docker扩展了LXC特性并使用高层的API,提供轻量级虚拟化解决方案来实现所有容器间的隔离机制。

Docker具有LXC轻量虚拟化的特点,相比较传统的虚拟化,可以做到启动快且占用资源少。本文首先介绍了虚拟化技术,然后阐述了Docker的总体系统结构以及每个功能模块的工作原理,最后重点描述Docker的隔离性。

1.虚拟化技术

虚拟化技术是通过虚拟机监视器(virtual machinemonitor,VMM)对底层硬件资源进行管理,支持多个操作系统实例同时运行。虚拟化技术的目标是实现资源利用率的最大化,同时将底层的物理设备与上层操作系统应用软件分离,从而实现计算资源的灵活性。对于大型的实验或软件设备,使用虚拟化技术能充分利用高性能的硬件资源,而且有利于设备的综合管理和维护。虚拟化已经在仪器仪表测量技术有运用,在虚拟仪器、自动化测试中,已有很多已经虚拟化的虚拟仪器测量和实验环境。endprint

猜你喜欢
虚拟化
基于OpenStack虚拟化网络管理平台的设计与实现
对基于Docker的虚拟化技术的几点探讨
虚拟化技术在CTC/TDCS系统中的应用研究
虚拟化技术在计算机技术创造中的应用
浅析虚拟化技术的安全保障
H3C CAS 云计算管理平台上虚拟化安全防护的实现
基于SDN的网络虚拟化平台及其隔离性研究
高速公路服务器虚拟化技术应用与探讨
基于Citrix的桌面虚拟化技术研究与应用
存储虚拟化还有优势吗?