我们现在称之为容器技术的想法最初出现于2000年FreeBSD监狱,一种允许对免费BSD系统划分为多个子系统或监狱。监狱被开发为安全的环境,系统管理员可以与组织内外的多个用户共享。
2001年,一个独立环境的实现通过Jacques Gélinas的VServer项目。一旦为Linux中的多个受控用户空间建立了这个基础,就开始形成今天的Linux容器。
很快,更多的技术结合起来,使这种孤立的方法成为现实。对照组(控制组)是一个内核功能,用于控制和限制进程或进程组的资源使用。而且系统cgroups使用一个初始化系统来设置用户空间并管理其进程,以对这些孤立的进程提供更好的控制。这两种技术在增加对Linux的总体控制的同时,也是环境如何成功保持分离的框架。
进入Docker
2008年,Docker来到了现场(通过dotCloud)与他们同名的容器技术。docker技术添加了许多新概念和工具——一个用于运行和构建新分层映像的简单命令行界面、一个服务器守护进程、一个预先构建的容器映像库,以及注册表服务器的概念。结合使用这些技术,用户可以快速构建新的分层容器并轻松与他人共享。
有三个主要标准可确保集装箱技术的互操作性——OCI图像、分销和运行时规范。结合这些规范,社区项目、商业产品和云提供商可以构建可互操作的容器技术(考虑将自定义构建的图像推送到云提供商的注册服务器中,您需要这样做)。如今,Red Hat和Docker等公司都是开放式集装箱倡议(OCI)-实现集装箱技术的开放式行业标准化。