容器化是指将软件代码和所需的所有组件(例如库、框架和其他依赖项)打包在一起,让它们隔离在自己的"容器"中。 这样,容器内的软件或应用就可以在任何环境和任何基础架构上一致地移动和运行,不受该环境或基础架构的操作系统影响。 容器就像是一个气泡(或者是应用周围的计算环境),把应用和周围环境隔离开来。
容器之所以具有"轻量级"或"可移植"的特性,是因为它们能够共享主机的操作系统内核,不需要为每个容器提供单独的操作系统,且允许应用在任何基础架构(裸机、云)上运行相同的操作系统,甚至在虚拟机(VM)中,有关详情请参见下一节。
同样,开发人员在一个主机环境中使用容器时,可以像在另一个主机环境中一样使用相同的工具,如此,在各个操作系统间开发和部署容器化应用就变得更加简单。