揭秘开放容器标准(OCI)规范-阿里云开发者社区

开发者社区> 猫饭先生> 正文

揭秘开放容器标准(OCI)规范

简介: 本文讲的是揭秘开放容器标准(OCI)规范【译者的话】本文介绍了OCI运行时和镜像规范,以及在过去的一段时间里大家对该规范的一些误解。OCI规范制订工作尚未落幕,未来也将对容器产生更加深远的影响。
+关注继续查看
本文讲的是揭秘开放容器标准(OCI)规范【译者的话】本文介绍了OCI运行时和镜像规范,以及在过去的一段时间里大家对该规范的一些误解。OCI规范制订工作尚未落幕,未来也将对容器产生更加深远的影响。

【3 天烧脑式基于Docker的CI/CD实战训练营 | 北京站】本次培训围绕基于Docker的CI/CD实战展开,具体内容包括:持续集成与持续交付(CI/CD)概览;持续集成系统介绍;客户端与服务端的 CI/CD 实践;开发流程中引入 CI、CD;Gitlab 和 CI、CD 工具;Gitlab CI、Drone 的使用以及实践经验分享。

开放容器标准组织本周宣布完成第一版容器运行时和镜像规范。为了支持容器解决方案,Linux基金会主导开发了OCI规范和标准。在过去两年里,这些规范建设工作凝聚了很多辛勤的努力。考虑到这一点,让我们来看看过去两年中出现的一些“误解”。
logo_oci.png

误解:OCI是Docker的替代品

标准很重要,但它们远非完整的产品平台。举个例子,万维网,其过去25年的发展建立在诸如TCP/IP、HTTP和HTML等核心可靠的标准之上。以TCP/IP为例,当企业将其作为一种通用协议使用时,它推动了路由器,特别是思科的发展。然而,思科通过关注其路由平台上的差异化功能,成为其市场的领导者。我们认为OCI规范和Docker将和谐共存。

Docker是一个完整的产品平台,满足容器解决方案的开发、分发、安全和编排各项需求。Docker使用OCI规范,但它只涵盖了该规范大约5%的内容,并且Docker平台只有很少一部分涉及容器的运行时行为和容器镜像的布局。

误解:产品和项目已经通过了OCI的规范认证

运行时和镜像规范本周刚刚发布了1.0版本。然而,OCI认证计划仍在发展中,所以企业在今年晚些时候正式推出认证之前,不能要求合规性,一致性或兼容性。

OCI认证工作组目前正在定义标准,使产品和开源项目能够符合规范。标准和规范对于实施解决方案的工程师很重要,但正式认证是向客户保证其正在使用的技术真正符合标准的唯一方式。

误解:Docker不支持OCI规范

Docker长久以来一直为OCI做出贡献。我们开发并捐赠了大部分的OCI代码,并作为项目维护者在定义运行时和镜像规范时做了一些建设性工作。当Docker运行时和镜像格式在2013年作为开放源代码发布后,迅速成为事实上的标准,我们认为将代码捐赠给中立的管理机构,以避免发展力量分散和鼓励创新将是有益的。目标是提供一个可靠和标准化的规范,因此Docker作为运行时规范工作的基础,提供了一个简单的容器运行时的runc,后来将Docker V2镜像规范作为OCI镜像规范工作的基础。

Docker开发人员如Michael Crosby和Stephen Day一开始便是这项工作的关键贡献者,确保Docker托管和运行数十亿个容器镜像的体验可以过渡到OCI规范下。认证工作组完成工作后,Docker将通过OCI认证过程将其产品展示出来,以证明OCI的一致性。

误解:OCI规范只涉及Linux容器

有一种误解,OCI仅适用于Linux容器技术,因为它是在Linux基金会的主导下开发的。现实情况是,虽然Docker技术开始于Linux的世界,Docker已经与微软合作,把我们的容器技术,平台和工具引入了Windows服务器的世界。此外,Docker已经捐给了OCI的底层技术是广泛适用于多层架构环境,包括Linux、Windows、Solaris和涵盖X86、ARM和IBM zSeries。

误解:Docker只是OCI的众多贡献者之一

OCI作为一个组织,有很多代表容器业界的广度的支持成员。也就是说,它是一个小而专业的个人技术专家组,为制订初始规范的工作贡献了时间和技术。Docker是OCI的创始成员,贡献了初始代码库,构成了运行时规范的基础,后来自身也引用了这种实现。同样,Docker也将Docker V2 Image规范作为OCI镜像规范的基础。

误解:CRI-O是OCI项目

CRI-O是云原生计算基金会(CNCF)的Kubernetes孵化器的一个开源项目–不是OCI项目。它基于Docker架构的早期版本,而containerd是一个直接的CNCF项目,它是一个更大的容器运行时,该运行时包含runc的参考实现。containerd负责镜像传输和存储,容器执行和监督,以及支持存储和网络插件的底层功能。Docker在五个最大的云提供商(阿里云,AWS,Google Cloud Platform,IBM Softlayer和Microsoft Azure)的支持下,将containerd捐赠给了CNCF,其协议是作为多个容器平台和容器编排系统的核心容器运行时。

误解:OCI规范现已完成

虽然运行时和镜像格式规范的发布是一个重要的里程碑,但仍有工作要做。OCI的初始范围是定义一个狭窄的规范,仅针对哪些开发人员可以依赖于容器的运行时行为,如何防止在行业中的碎片化,并且仍然允许在不断变化的容器领域中进行创新。随后将其扩展为包含容器镜像规范。

随着工作组完成运行时行为和镜像格式的第一个稳定规范,正在考虑新的工作。未来工作的思路包括分发和签名。然而,OCI的下一个最重要的工作是提供一个由测试套件支持的认证过程,因为第一个规范是稳定的。

了解更多关于OCI和Docker的开放源码:


作者介绍

Stephen是Docker开源项目总监。他曾在Hewlett-Packard Enterprise担任董事和杰出技术专家。他博客关于开源软件和业务在Once More Unto The Breach和opensource.com。

原文链接:DEMYSTIFYING THE OPEN CONTAINER INITIATIVE (OCI) SPECIFICATIONS (翻译:付辉)

原文发布时间为:2017-07-22

本文作者:付辉

本文来自云栖社区合作伙伴Dockerone.io,了解相关信息可以关注Dockerone.io。

原文标题:揭秘开放容器标准(OCI)规范

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
深度解析容器服务Kubernetes集群容量以及网络规划
#背景 在目前云原生技术被如火如荼的大规模使用的过程中。越来越多的用户都会使用Kubernetes集群去部署其应用。但是在这个过程中,如果由于早期对于容量和网络的规划不当,可能造成实际生产中实践中,不能满足业务的真实需要。如果此时在重新规划就面临着集群重建、应用迁移的诸多事项,这样不仅仅浪费了大量的精力,甚至可能会造成业务有一定的中断。因此,为了使得广大使用者可以更加深入的理解阿里云容器服务Ku
764 0
阿里云容器服务通过LoadBalancer暴露IPv6服务
IPv4地址已接近枯竭,被誉为下一代互联网技术的IPv6成为新的“全球互联网门牌号”,它可以让地球上的每一粒沙子都拥有地址。当下,各国都在加速推进下一代互联网的部署,工信部也互联网服务商提出了IPv6改造的要求,国内的各大互联网厂商都在进行着IPv6的改造,IPv6的改造已迫在眉睫。
2211 0
阿里云服务器端口号设置
阿里云服务器初级使用者可能面临的问题之一. 使用tomcat或者其他服务器软件设置端口号后,比如 一些不是默认的, mysql的 3306, mssql的1433,有时候打不开网页, 原因是没有在ecs安全组去设置这个端口号. 解决: 点击ecs下网络和安全下的安全组 在弹出的安全组中,如果没有就新建安全组,然后点击配置规则 最后如上图点击添加...或快速创建.   have fun!  将编程看作是一门艺术,而不单单是个技术。
4480 0
基于Docker容器的,Jenkins、GitLab构建持续集成CI
一、场景: 开发者将代码提交(push)到GitLab后,GitLab通过Hook通知jenkins,jenkins自动从GitLab中获取项目最新的源码进行集成和发布。 二、准备: 基于Docker,创建一个私有GitLab的容器,创建一个jenkins的容器 三、步骤 1、构建Jenkins容器 Jenkins容器安装Jenkins的rpm包,Jenkins依赖 JDK,所以需要在Jenkins的容器中安装配置jdk,本人使用jdk1.8,同时需要Jenkins的容器调用maven的打包命令,所以也需要配置安装maven,本人使用maven 3.3.9。
48117 0
容器技术贯穿什么基础的设施睿云智合Wise2C的体现
到了数字化业务竞争时代,获客方式和服务模式改变,越来越多客户数据洞察机会、新客户接触点出现在企业面前,客户洞察结果及相关应用变得日益丰富。令互联网企业获利丰厚的CRM应用如客户忠诚度管理、精准营销、多产品叠加等,对金融企业终于不再是一句空话。
1013 0
duilib让不同的容器使用不同的滚动条样式
装载请说明原出处,谢谢~~:http://blog.csdn.net/zhuhongshu/article/details/42240569         以前在给一个容器设置横纵向的滚动条时,一直是通过设置xml的Default标签来完成的,但是这样做有个很大的缺点就是,这个窗体里面的所有滚动条的样式只有一种。
1322 0
+关注
350
文章
1300
问答
文章排行榜
最热
最新
相关电子书
更多
文娱运维技术
立即下载
《SaaS模式云原生数据仓库应用场景实践》
立即下载
《看见新力量:二》电子书
立即下载