Docker 基础原理

来源:互联网 发布:java 9 编辑:程序博客网 时间:2024/06/12 18:48
Docker的核心技术:linux容器技术和cgroup,以及aufs分层文件系统。
cgroups技术:
linux系统中希望限制某个或者某些进程的资源,于是出现了cgroups。即controller group,可用于限制cpu时间,IO时间,内存等。cgroups中重要的概念是“子系统”,即每种资源的控制器,每种资源都有一个cgroups,然后吧进程转移到cgroups中进行资源限制。
LXC技术:
linux containers是一种基于容器操作系统层级的虚拟化,借助于namespace的隔离机制和cgroups限制配额功能。LXC跟其他操作系统层级的虚拟化技术相比,最大优势在于lxc被整合到内核中。lxc是共享kernel的os级虚拟化方法。隔离性差。
AUFS技术:
aufs是一个能透明覆盖一个或者多个现有文件系统的层状文件系统。支持将不同目录挂载到同一个虚拟文件系统下,可以把不同目录联合在一起,组成一个单一的目录。aufs允许docker把某些镜像作为容器的基础。例如:你可能有一个可以作为很多不同容器的基础centos系统镜像,多亏aufs,只有此一个centos镜像副本就够了,即节省了存储和内存,也保证了快速部署。
docker原理app打包:
最大化重用image,加快运行速度,减少内存和磁盘footprint,docker container运行时所构造的运行环境,实际上是由具有依赖关系的多个layer组成。即极大的共有层文件系统。
docker deamon 是容器的守护进程,可以提供restful api,用于远程管理docker。
boot2docker是一个专门为docker而设计的轻量级linux发行包。

原创粉丝点击