Docker Hub是世界上最大的容器镜像存储库,拥有一系列内容源,包括容器社区开发者、开源项目和独立软件供应商。
作者 | 王瑞平
审校 | 云昭
前几日,Docker Hub出了一件大事!但凡创建了“organisation”的用户都收到了一封含有简短PDF链接的邮件。邮件的内容“金钱味”十足:如果不按照要求升级付费,用户就将失去对数据的访问权限。此举不仅会破坏开源项目的自动化构建,还为一直依赖于开源的用户带来巨大的焦虑和麻烦。看来,想要白嫖的用户,好日子到头了!
邮件中提到,在审查了遗留的免费组织类型的用户账户列表后,Docker正在清退淘汰它们。按照要求,列表中的私人存储库将于4月14日被强制暂停。如果这些用户还想继续访问,他们不得不在这个日期之前升级为付费用户。
在此期间,用户公共存储库中任何镜像访问权限仍会被保留。如果用户按照要求升级付费,都可以恢复对组织帐户的访问权限。
Docker Hub是世界上最大的容器镜像存储库,拥有一系列内容源,包括容器社区开发者、开源项目和独立软件供应商。
此前,用户不仅可以访问免费的公共存储库,也可以选择私人回购的订阅计划。
不过还好,Docker此次取消开源转为付费的举措并没有“赶尽杀绝”。Docker个人、Docker专业版、Docker团队(付费)以及Docker商业版等仍会被保留。
1、用户:不能接受清退开源
如果取消免费,清退开源,最大的问题是:每个创建了自有“组织”的Docker Hub用户维护其公共形象的成本将会从0美元/年上升至每年几百美元。这种行为无异于将用户当作人质,如果不付钱,系统就会崩溃。
其次,Docker诞生于开源时代,虽然存在资金问题,也不应该以这种方式对开源程序所允许的范围进行脱离实际的界定。它排除了任何业余项目,以及完全捐赠给开源基金会的项目。这会使其在用户心目中的威信大打折扣。
而且,该产品的免费版本已被开源项目广泛使用。删除它意味着丢失与这些团队相关的数据,包括Docker镜像。因此,Docker不应寻求通过服务或收取更高层次的费用来盈利,接受捐款维持开源倒是可以被接受。
社区中的用户都曾经是Docker的缔造者。而现在,当Docker已经获得了巨大的收益,就完全忘记了自己的根基。
2、收费后影响几何?
Docker的CTO曾在推特上非正式地声明说:“他们将关闭不付款的账户,并且不允许任何人接管。”
而事实并没有如此绝对。在理想的情况下,这些组织的帐户将继续连接到用户帐户。因此,如果之后用户为它们付费,还可以恢复。
在此期间,为应对恶意软件和有毒镜像带来的破坏。维护者已经转向为开源及私有软件项目托管平台GitHub注册中心发布开源包。
为什么?因为Docker对用户实施了速率限制,任何从Docker Hub下载内容的用户都需要付费订阅——无论是个人还是公司。花钱才可以下载Prometheus、NATS、Go、Python和Node镜像。
值得庆幸的是,如果你所维护的项目属于基金会,比如,CNCF或Apache基金会,你还可以轻松地申请开通。
3、Docker Hub为用户带来方便
用户都知道,Docker本身只是个工具,而Docker Hub才是全部生态的核心。打个比方,Docker Hub好似App Store,要是没了App,你的手机真就沦为“移动电话”了。
具体来讲,Docker Hub就是储藏Docker的一个中心,名称近似于Github。对比来看,Github存放code,Docker Hub存放Docker images。
Docker Hub方便用户探索世界上最大的容器镜像库,从而轻松搜索超过100万个容器镜像。不仅如此,它还能在公共或私有存储库中共享和存储镜像,方便用户获取免费的公共存储库或选择私人回购的订阅计划。
就像前文中描述的那样,Docker Hub是私有存储库,能够通过GitHub和Bitbucket自动构建容器镜像,并将它们推送到Docker Hub的团队和组织。
Docker Hub上的镜像分为两大类,一类是官方镜像,如,nginx、mysql 等;另一类是普通用户镜像,由用户自己上传。对于国内用户,如果觉得Docker Hub访问速度过慢,可以使用国内一些公司提供的镜像。
这些镜像十分安全,能够方便用户构建项目,一眼就能找到适合的图片。同时,Docker Hub还能够检查镜像,了解镜像组件中存在的漏洞,并使用这些漏洞解决问题。
个人在使用Docker Hub过程中,涵盖以下几种情况:在上面找一些成熟的Docker Image,比如,python与ubuntu等,然后pull到本地进行使用;另外,就是将Docker Hub当做个人的Docker 镜像储存器,将个人的镜像放上去。
4、如何升级到付费模式
很多用户可能会质疑,付费订阅Docker是否有好处? 当然,Docker系列产品具备不同优势。首先,Docker 是加快生产力的个人开发人员的不二之选;其次,Docker Team是期待高效合作小团队用户的理想选择;再有,Docker Business是寻求集中管理企业的最佳选择。
那么,用户如何才能升级到付费订阅模式呢? 第一步,您需要在docker.com上登录您的帐户,然后,选择标题中的Upgrade,并选择您想要升级到的付费订阅级别和座位数量,最后,继续付款就行啦!
一旦你升级到付费订阅模式,你的帐户和所有目录下的关联配置、镜像和存储库将100%保留下来,是不是很nice!
5、有哪些可以替代Docker
一位Reddit用户发表了这样的观点:Docker Hub清退开源很残酷,但却不得不面对这个现实,并将寻找更好的替代品。
Podman、Kubernetes、Openshift、LXD、Docker Swarm、BuidKit和 Mesos是当今市场上一些流行的替代品。下面着重讨论Podman、Containerd两种替代方案:(1)Podman无守护程序、开源,可用于构建、运行和管理 Linux OCI 容器和容器镜像。它易于使用、与Kubernetes兼容、支持多种容器格式,可对资源分配提供更细粒度的控制。(2)Containerd则为运行容器提供了一致且稳定的接口,通过启动和停止容器来管理容器的生命周期,可进行图像管理和存储。此外,Containerd还可以与其它容器编排工具共同使用,以管理集群中容器的扩展和调度,具有轻量级、一致性、灵活性等优势。如今可以预见的是,在未来的几年内,Docker依然能够在市场中占有一定的比例。而十年后,IT界将不会再把Docker作为开发者技术栈中的必备工具。
参考资料:
https://blog.alexellis.io/docker-is-deleting-open-source-images/
https://www.reddit.com/r/programming/comments/11rased/docker_is_sunsetting_free_team_organizations/
责任编辑:武晓燕来源: 51CTO技术栈