Docker 是基于Google公推出的Go语言进行开发实现,基于Linux内核的 cgroup,namespace,以及 OverlayFS 类的 Union FS 等技术,对进程进行封装隔离,属于 操作系统层面的虚拟化技术。最初实现是基于 LXC,从 0.7 版本以后开始去除 LXC,转而使用自行开发的 libcontainer,从 1.11 开始,则进一步演进为使用 runC 和 containerd。
runc是一个 Linux 命令行工具,用于根据 OCI容器运行时规范 创建和运行容器。containerd是一个守护程序,它管理容器生命周期,提供了在一个节点上执行容器和管理镜像的最小功能集。
传统虚拟化技术与Docker虚拟化技术对比
