Docker是一种开放的源代码软件产品,允许应用软件部署在软件容器中的工作可以通过自动化技术进行,并借此机会在Linux计算机操作系统上提供额外的手机软件抽象层和计算机操作系统层虚拟化的自动管理模式。Docker使用Linux核心中的网络资源来分离系统,例如cgroups,以及Linux核心名称空间(name space),创建一个单独的应用器皿(containers)。这样可以在单Linux实体线下运行,防止运行VM虚拟机造成的额外负担。Linux核心对名称空间的大力支持完全隔离了工作环境中应用程序的视线,包括流程树、互联网、客户ID和初始化文件目录,核心cgroup提供资源隔离,包括CPU、存储芯片、block I/O和互联网。从0.9版本开始,Dockers使用抽象虚像LXC和systemd通过libvirt – 在nspawn提供页面的前提下,libcontainer库逐渐作为Linux核心提供的虚拟化设施,以自己的方式直接使用。