Skip to content

Latest commit

 

History

History
50 lines (30 loc) · 3.09 KB

principles_zh.md

File metadata and controls

50 lines (30 loc) · 3.09 KB

定义一种称为标准容器的软件交付单元。 标准容器的目标是以自描述和可移植的格式封装软件组件及其所有依赖项,这样,无论底层机器和容器内容如何,任何符合标准的运行时都可以运行它,而无需额外的依赖项。

标准容器的规范定义了:

  1. 配置文件格式
  2. 一套标准操作
  3. 一个执行环境。

运输行业使用的物理集装箱就是一个很好的类比。 集装箱是运输的基本单位,它们可以被提升、堆叠、锁定、装载、卸载和贴标签。 无论其内容如何,​​通过标准化容器本身,它可以定义一组一致、更简化和高效的流程。 对于软件,标准容器通过作为软件包的基本、标准化、交付单元来提供类似的功能。

标准容器定义了一组标准操作。 可以使用标准容器工具创建、启动和停止它们;使用标准文件系统工具进行复制和快照;并使用标准网络工具下载和上传。

标准容器是无内容限制的:无论内容如何,所有标准操作的效果都是一样的。 无论它们包含的是 postgres 数据库、php 应用程序及其依赖关系和应用服务器,还是 Java 构建工件,启动方式都是一样的。

标准容器不依赖于基础设施:它们可以在任何 OCI 支持的基础设施中运行。 例如,一个标准容器可以捆绑在笔记本电脑上,上传到云存储,由弗吉尼亚州一家光纤酒店的构建服务器下载、运行和快照,上传到自制私有云集群中的 10 个暂存服务器,然后发送到 3 个公共云区域的 30 个生产实例。

标准容器专为自动化而设计:标准容器提供相同的标准操作,不受内容和基础架构的限制,因此非常适合自动化。 事实上,可以说自动化是它们的秘密武器。

许多曾经需要耗时且容易出错的人力工作,现在都可以通过编程来完成。在使用标准容器之前,当一个软件组件在生产中运行时,它需要由 10 个不同的人在 10 台不同的计算机上进行单独的构建、配置、捆绑、记录、修补、销售、模板化、调整和仪表化。 构建失败、库冲突、镜像崩溃、便利贴丢失、日志错位、集群更新半途而废。 整个过程缓慢、效率低下、成本高昂,而且根据语言和基础设施提供商的不同而完全不同。

标准容器使软件的工业级交付成为现实。 利用上面列出的所有特性,标准容器使大型和小型企业能够简化和自动化其软件交付管道。 无论是内部 devOps 流程,还是外部基于客户的软件交付机制,标准容器正在改变社区对软件打包和交付的思考方式。