新的容器镜像标准承诺更便携的应用

我之前写过关于容器的文章,并对它们给 DevOps 和云计算带来的诸多好处赞不绝口。而且,我并不是唯一一个欣赏它们的人——虽然总会有反对者,但普遍认为它们是好东西。但即使它们可以算得上是自切片面包(或虚拟机)以来最好的东西,它们也并非没有缺点。
也许最大的缺点是不同容器运行时之间缺乏标准化。 当您选择容器引擎时,有很多不同的选择,而选择总是一件好事,但问题在于您尝试在一个容器引擎上运行来自另一个容器引擎的镜像。 目前,每个引擎都使用自己的镜像格式,这使得它们之间无法切换。
这可能不会立即成为一个问题。 毕竟,如果您使用 Docker 进行开发、测试和部署,为什么要关心支持 Kubernetes 或 rkt 呢? 当您想要从一个云主机迁移到另一个云主机,或者如果另一个容器引擎发布了您认为不可或缺的功能时,问题会变得更加明显。
按照目前的情况,您唯一的解决方案是使用新的容器引擎重建应用程序镜像,但这会引入它自身的变量,因此不再可能保证代码在两个平台上运行完全相同。
理想的解决方案是构建一次应用程序,然后在任何地方运行——这意味着在任何容器运行时上运行。
这就是 Linux 基金会成立的 Open Container Initiative 的目标。 它的目标是缩小不同容器引擎之间的差距,以便应用程序可以从一个运行时自由移动到另一个运行时。
一个主要目标是为容器镜像创建一个标准规范。 如果该倡议能够让所有主要的容器引擎加入,这将是实现其目标的一大步,这将对快速扩张的初创公司来说是一个真正的福音。
对于以容器形式交付的现成解决方案的客户来说,新标准也将是一个好消息。 他们不再受限于开发人员对容器运行时的选择。 相反,他们可以选择适合其需求和情况的堆栈。
就标准而言,目前仍处于早期阶段,但大多数主要参与者已经表示支持。 由于 OCI 是一个社区驱动的机构,因此它处于起草一个满足所有人需求的标准的绝佳位置——无论他们是容器引擎开发人员、DevOps 团队还是云计算提供商。
您可以在这里阅读更多内容。