Docker 简介

Docker 算不上什么新技术,基于LXC使用AUFS,而这些技术已经存在很长时间并被广泛应用。

总之:LXC 和 AUFS 技术是Docker 的基石。

LXC又名Linux container。

Linux Container容器是一种内核虚拟化技术,可以提供轻量级的虚拟化,以便隔离进程和资源。

Linux Container是一种虚拟化的解决方案,这种是内核级的虚拟化。(主流的解决方案Xen ,KVM, LXC)

Sourceforge上有LXC这个开源项目。LXC项目本身只是一个为用户提供一个用户空间的工具集,用来使用和管理LXC容器。LXC真正的实现则是靠Linux内核的相关特性,LXC项目只是对此做了整合。基于容器的虚拟化技术起源于所谓的资源容器和安全容器。

LXC在资源管理方面依赖于Linux内核的cgroups子系统,cgroups子系统是Linux内核提供的一个基于进程组的资源管理的框架,可以为特定的进程组限定可以使用的资源。LXC在隔离控制方面依赖于Linux内核的namespace特性,具体而言就是在clone时加入相应的flag(NEWNS NEWPID等等)。

AUFS

aufs的全称是advanced multi-layered unification filesystem,主要功能是把多个文件夹的内容合并到一起,提供一个统一的视图,主要用于各个Linux发行版的livecd中,以及docker里面用来组织image。

据说由于aufs代码的可维护性不好(代码可读性和注释不太好),所以一直没有被合并到Linux内核的主线中去,不过有些发行版的kernel里面维护的有该文件系统,比如在ubuntu 16.04的内核代码中,就有该文件系统。

参选:http://coolshell.cn/articles/17061.html

 

原文地址:https://www.cnblogs.com/ncepu/p/13694875.html