容器化是指将软件代码和所需的所有组件(例如库、框架和其他依赖项)打包在一起,让它们隔离在自己的"
容器
"中。
这样,容器内的软件或
应用
就可以在任何环境和任何基础架构上一致地移动和运行,不受该环境或基础架构的操作系统影响。容器就像是一个气泡(或者是应用周围的计算环境),把应用和周围环境隔离开来。它相当于是一个功能全面、便于移植的计算环境。
容器是取代在平台或
操作系统
上直接编写代码的一种替代方案,因为在这种旧的方式中,代码可能无法与新环境兼容,使得应用难以移动。如此就可能会产生漏洞、错误和故障,从而需要消耗更多时间进行修复,导致生产力降低和团队产生强烈的挫败感。
将应用打包装入可在平台和基础架构之间移动的容器后,只用把该容器移动到某个位置,应用就能在那里成功运行使用,因为容器中包含了成功运行应用所需的一切。
进程隔离的想法早已存在多年,但直到 2013 年
Docker
推出 Docker 引擎,业界才设立了使用容器的标准,配以方便开发人员使用的工具及通用的打包方法,此举加速了
容器技术
的采用。如今,开发人员可从一系列容器化平台和工具自由挑选,如
Podman
、
Buildah
和
Skopeo
等,它们全都支持 Docker 发起的开放式容器倡议标准。