一、Docker的底层实现
Docker容器本质上是宿主机上的进程
,核心技术包括Linux上的命名空间(namespace)、控制组(cgroups)、UnionFS(联合文件系统)和容器格式(Container format)。Docker通过namespace
实现了资源隔离,通过cgoups
实现了资源限制,通过写时复制机制
实现了高效的文件操作。
容器就是一个与宿主机系统共享内核但与系统中的其他进程资源相隔离的执行环境。Docker通过对namespace、cgroups、capabilities以及文件系统的管理和分配来“隔离”出一个上述执行环境,这就是Docker容器。