建木:为什么我们不支持手工上传镜像

自从我们提供公共镜像库以来,不少同学询问是否支持手工上传镜像到镜像库。答案是:不支持。

今天给大家聊一聊为什么公共镜像库不应该支持手工上传,主要基于以下几个方面的考量:

Code First

建木作为一个完整实现GitOps理念的工具,开发团队在实现任何服务时所秉承和推广的当然也首选Code First的方式。

因此,我们提供的公共镜像库与GitHub和国内的Gitee都实现了集成,用户授权后可以直接选择代码库中的Dockerfile来进行镜像的构建,后续还会完成与更多代码托管平台的集成。

当然也支持根据分支、Tag等来设置自动构建计划的规则。

一旦使用了Code First的方式,用户就无需自己维护构建服务器或者在本地手工进行镜像构建。

镜像的变更与版本记录与镜像构建的过程一一对应,可追溯可审计,完美符合当前主流的工程理念。

便于生成软件物料清单(SBOM)

不提供手工上次镜像的功能的另一个理由是保证公共库镜像的安全性。最近的研究报告显示,恶意镜像已经成为软件供应链攻击中的攻击手段。而软件物料清单(SBOM)是应对软件供应链攻击的工具之一。

什么是SBOM

软件物料清单 (SBOM) 是一份正式记录,其中包含用于构建软件的各种组件的详细信息和供应链关系。BOM(物料清单)的说法来源于制造业的MES系统,简单说就是类似成分列表。当然BOM也可以包含层次结构,可以层层包含,列表中的组成部分可以继续拆分为子BOM。

在最新的OCI镜像标准中,已经有了推荐的SBOM的描述规范,但是如何生成SBOM并且进行可信的数字签名对于大部分用户仍然是个问题。

因此,建木Hub后续也将在镜像构建过程中增加相关的支持来降低针对公共镜像的软件供应链攻击风险。

上行带宽占用

众所周知,维护一个公共镜像库需要相当高的成本。因此建木Hub目前使用了CDN来优化镜像下载速度和降低镜像下载的流量成本,但是如果开放手工Push镜像功能,对于上行带宽和流量的成本暂时还没有好的优化方案。

总结

基于以上考量,建木Hub的公共镜像仓库不会开通手工上传镜像的功能。当然,随着产品的迭代完善,我们将会在私有镜像仓库中提供手工上传镜像的功能。如果大家确实需要,敬请期待。

最后,放上我们的服务地址。建木Hub 欢迎使用!

优秀的个人博客,低调大师

微信关注我们

原文链接:https://www.oschina.net/news/220571

转载内容版权归作者及来源网站所有!

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

相关文章

发表评论

资源下载

更多资源
Mario,低调大师唯一一个Java游戏作品

Mario,低调大师唯一一个Java游戏作品

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Eclipse(集成开发环境)

Eclipse(集成开发环境)

Eclipse 是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括Java开发工具(Java Development Kit,JDK)。

Java Development Kit(Java开发工具)

Java Development Kit(Java开发工具)

JDK是 Java 语言的软件开发工具包,主要用于移动设备、嵌入式设备上的java应用程序。JDK是整个java开发的核心,它包含了JAVA的运行环境(JVM+Java系统类库)和JAVA工具。

Sublime Text 一个代码编辑器

Sublime Text 一个代码编辑器

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。