容器化虚拟技术概念可能来源于,在 Linux 内核版本 2.6.24 上加入的对 命名空间( namespace) 的技术支持特性。 容器化进程加入其进程 ID 到其创建的每个进程上并且对每 个进程中的系统级调用进行访问控制及审查。 其本身是由系统级调用 clone () 克隆出来的进 程, 允许其创建属于自己命名空间的进程实例,而区别于之前的,归属与整个本机系统的进程 实例。
如果上述在 Linux 系统内核上的技术实现成为可能, 那么明显的问题是如何在 非 Linux 系统 上运行容器化的 Docker 。过去, Mac 和 Windows 系统上运行 Docker 容器都使用 Linux 虚拟机(VMs) 技术, Docker 工具箱使用的容器运行在 Virtual Box 虚拟机上。 现在,最新 的情况是, Windows 平台上使用的是 Hyper-V 产品技术,Mac 平台上使用的是 Hypervisor.framework (框架)产品技术。