kernel lxl
LXC-Linux Containers,LXC是Linux containers的简称,是一种基于容器的操作系统层级的虚拟化技术。
LXC可以在操作系统层次上为进程提供的虚拟的执行环境,一个虚拟的执行环境就是一个容器。可以为容器绑定特定的cpu和memory节点,分配特定比例的cpu时间、IO时间,限制可以使用的内存大小(包括内存和是swap空间),提供device访问控制,提供独立的namespace(网络、pid、ipc、mnt、uts)。
Control Groups
Linux上的Docker Engine也依赖于另一种称为CGroup的技术。CGroups 最初叫Process Container,顾名思义就是将进程放到一个组里进行统一控制。后来改名叫Control Groups。CGroups 是 Control Groups 的缩写,它为资源管理提供了一个统一框架,可以把系统任务及其子任务整合到按资源等级划分的不同任务组内。并且对这些任务组实施不同的资源分配方案。CGroups可以限制、记录、隔离进程组所使用的物理资源(包括CPU、memory、I/O等)。
容器的网络类型
[root@docker ~]# docker network ls
NETWORK ID NAME DRIVER SCOPE
a4c72e45bdf4 bridge bridge local
e6aa050bc769 host host local
9f11fcd6003d none null local