基于Docker技术的容器隔离性分析
2017-09-14中国联合网络通信有限公司软件研究院蔡志强
中国联合网络通信有限公司软件研究院 蔡志强
基于Docker技术的容器隔离性分析
中国联合网络通信有限公司软件研究院 蔡志强
Docker技术是一种基于Linux操作系统内核的虚拟化技术,其主要在于借助对LXC(Linux Container)的扩展而达到一种虚拟化的解决方案。其能够保障每一个容器中服务的运行环境是保持隔离的,这主要是通过内核命名空间的特性来完成。由于Docker隔离机制的独特性,运行资源的开销较低,能够很好地保障虚拟化的密度。文章基于Docker的工作原理展开研究,对Docker的虚拟化隔离技术及容器隔离方案做出了详尽的分析与讨论。
Docker技术;隔离性;虚拟化
Docker是一个基于LXC的高级应用容器引擎,其进一步优化了容器的使用体验,提供了容器管理的一些功能,如容器的版本管理、容器发布、容器移植等,让使用者更方便的使用容器。Docker具备简化配置的优点,其能够让开发者把应用程序以及程序所依靠的运行环境和配置文件一同打包,达到“Build Once, Run Everywhere”的目标,具备资源安全访问的特质,能够完成系统的隔离,具备轻量虚拟化的特质,与传统虚拟化对比,其具有启动速度更快、占用的资源较少的优点。Docker最重要的特点在于其支持由任何编程语言和框架开发的应用程序,使得Docker在互联网领域被广泛使用。
1. Docker技术原理
用户使用Docker客户端与Docker Daemon建立通讯,Docker Daemon提供Server的功能使其可以接受Docker客户端的请求;Engine以任务的形式处理Docker的内部工作,如从镜像仓库下载镜像并以Graph形式保存、建立Docker容器网络,限制Docker资源配额及执行用户指令等;……
