Docker CEO Ben Golub在2014年的DockerCon上发布Docker Hub,并指出已经有超过14,000个Docker化的应用存储在他们的publc registry中。而根据2015年的DockerCon上,Docker SVP Marianna Tessel公布的数据,Docker Hub上的repos已经超过150,000个,仅一年就有了十倍的增长!

看到这些疯狂增长的数字,笔者不禁想去探索这些数据背后的故事。所以决定从Docker Hub中挖掘数据,通过调用Docker Registry API,研究这150,000个repos。

需要注意的是:Docker Hub中的repos和tag在不断地被添加和删除,所以文中的数据只是在某个特定时间点的数据,当你读到这篇文章时可能它已经发生了变化,但这些数字背后体现的规模还是基本准确的。

镜像仓库(Repositories)

最新统计显示Docker Hub上有125,289个公共库。这比在六月的DockerCon上提及的150,000略少(的确增长到过那个数字),可能因为有一些私有库。

在这些公有库中,39,441(31%)是自动构建(automate build),也就是说这个镜像是由Docker Hub,构建一个已经发布的Dockerfile生成的镜像。剩下85,848个库镜像是通过docker push命令上传的。

Docker Hub上目前有84个官方镜像仓库,涵盖了Mysql,MongoDB和Redis等常用的服务。相比在14年DockerCon上公布的13个,这也是相当大的增幅。

机构(Organizations)

以下是发布公共镜像仓库最多的10大机构或个人:

不知道datdocker用那8261个库做什么,看起来像是CI过程中生成的新库,因为很多库名都加了数字后缀。

而imiell的拥有者是Ian Miell,曾写过一本Docker的书,许多库看起来都是书中的范例。

收藏数(Stars)

通过Docker registry API获取不了镜像被pull的个数,只能通过镜像的star数量,来衡量镜像的流行度。

毫无疑问,拥有最高star数量的库都是官方库。排名最高的10个官方库是:

排名最高的十个非官方库是:

这张列表上最令人惊讶的是aspnet镜像(ASP.NET的Docker镜像),显然有许多微软开发人员对Docker很感兴趣。

Tags

在这125,289个公共库中,有243,966个被加了tag。平均每一个库有1.9个tag。超过100,000个库(82%)有唯一的tag,有少量库拥有上千个tag。

tag最多的是rstiller/jetty,有2104个tag(他们似乎为每个可能组合的OS,JDK和Jetty版本都创建了镜像tag)。所有库中最常使用的tag:

最有趣的tag是”kitten”,73个不同的镜像都使用了它,可能和这个Kubernetes Demo App(https://github.com/kubernetes/kubernetes/blob/master/docs/user-guide /update-demo/kitten-rc.yaml)有关。

排第1的是“lastest”,如果你不明确指定一个tag,默认情况下就会是“lastest”。

有247个库没有tag,—它们都是没有镜像的空库。

基础镜像(base image)

Docker的优雅之处在于其分层镜像格式,你不必从无到有构建你的镜像——你能使用任何公共镜像作为基础,构建自己的镜像。那么哪些镜像是最经常被引用的基础镜像呢?以下是排名前十的基础镜像:

显然,Ubuntu是极其受大家欢迎的基础镜像,前10中占了6个,因为很多开发人员都对Ubuntu很熟悉。但建议关注一下alpine,特别是出于精简镜像的考虑。 scratch镜像是当之无愧的No.1.Docker 1.5以前,几乎每个镜像都将scratch作为基础镜像。

Alpine镜像的大小是5MB(ubuntu镜像大小是188MB),有一个很棒的包管理器。CenturyLink已经将很多的基础镜像从Ubuntu迁移到了Alpine,显著缩小了镜像的大小。

Missing Tags

10个最经常被引用的基础镜像中,6个没有tag(被标记为lastest),可能之前它们也被标记为某一个值,但又变了。

比如,之前bf84c1d84a8f层被标记为debian:latest(也是debian:jessie)。当其它镜像以其为基础镜像时,会在Dockerfile中写FROM debian或FROM debian:jessie。

如果Debian镜像被重新构建,tag会被指向到另外的层。所以,镜像tag不是静态的,它们可能指向到另外的镜像。

如果你希望你的镜像始终基于最新版本的Debian Jessie或者Ubuntu构建而成,你需要追踪这些tag的变更,并根据情况重构镜像。Docker Hub的repository link特性可以帮你实现这一点。

本文作者:佚名

来源:51CTO

Docker Hub 最受欢迎的10大镜像相关推荐

  1. bulter机器人_双十一来了,盘点全球最受欢迎的10大智能物流机器人

    原标题:双十一来了,盘点全球最受欢迎的10大智能物流机器人 近年来的双十一可谓堪比春运,据<中国新闻网>报道,2018年天猫双11再创历史新高.截止11月11日24点,成交额达2135亿元 ...

  2. Github最受欢迎的10大深度学习时间序列项目

    近几年,随着深度学习的流行,其在时间序列上的应用也越加流行并且在非常多的时间序列预测问题上取得了巨大的突破. 本文我们列举了Github上最受欢迎&关注最多的十大相关的时间序列项目,喜欢的朋友 ...

  3. 人工智能最受欢迎的10大TED演讲

    云栖君导读:当我们过于关注机器学习的技术实现时,往往就会忽略技术在未来的应用及其政治后果.本文并没有讨论最适合解决某个问题可以用什么语言或算法,而是从最受欢迎的非营利组织TED中收集了一系列演讲. 在 ...

  4. 【时间序列】Github最受欢迎的10大深度学习时间序列项目!

    作者:杰少 十大时间序列Github仓库 简介 近几年,随着深度学习的流行,其在时间序列上的应用也越加流行并且在非常多的时间序列预测问题上取得了巨大的突破,本文我们列举了Github上最受欢迎& ...

  5. linux摄像头流媒体开源项目,Github上最受欢迎的10大开源免费的RTSP流媒体项目

    Github选出d TOP 10开源免费的RTSP流媒体项目,如下是具体排名及星星数.缓存 一.Easydarwin服务器 星星数:4,307网络 Easydarwin是国内团队开发的开源流媒体框架. ...

  6. 2017年最受欢迎的10大商城网站

      在电商和线上购物快速发展的今天,拥有一个商城网站很是必要,关于试水独立商城的好处大家可以浏览<有了淘宝京东,为什么还要自建商城网站?>查看.但是,搭建商城网站并不简单,庆幸的是目前市面 ...

  7. java rtsp 开源_Github上最受欢迎的10大开源免费的RTSP流媒体项目

    Github选出d TOP 10开源免费的RTSP流媒体项目,以下是具体排名及星星数. 1.Easydarwin 星星数:4,307 Easydarwin是国内团队开发的开源流媒体框架.它是基于Go语 ...

  8. Docker Hub的使用以及配置阿里云镜像加速

    Docker Hub是一个由Docker公司负责维护的公共注册中心,它包含了超过15,000个可用来下载和构建容器的镜像,并且还提供认证.工作组结构.工作流工具(比如webhooks).构建触发器以及 ...

  9. 免费午餐时代的结束 - Docker Hub 新的服务条款

    在云原生技术中,容器化是很重要的一环,其中免不了的是容器镜像的共享,这就必须要用到容器注册表.目前最流行的容器注册表是Docker Hub.Docker Hub上保存了1亿五千万个容器镜像,占据了15 ...

最新文章

  1. python装饰器作用-Python装饰器的通俗理解
  2. 学习笔记:linuxsocket通信基础
  3. 关于寻路算法的一些思考(1):A*算法介绍
  4. 锁 mysql_Mysql的锁(S锁和X锁的区别)
  5. Ant 风格路径表达式
  6. 使用 Git 生成 SSH Key 并将项目上传到 GitHub
  7. mysql 5.5.29 winx64_【转载】MySQL 5.7.29详细下载安装配置教程winx64
  8. python气象绘图_Python气象绘图教程特刊(一)
  9. 学会人工智能可以从事哪些行业?
  10. java:高速排序算法与冒泡排序算法
  11. sql语句:CASE WHEN END 的用法
  12. Node.js - npm下载包速度慢的问题及解决
  13. 下周把交接文档做完就交接实习结束离职了
  14. 基于Bootstrap模板创建门户网站vue项目01
  15. 关于 傅里叶变换 的一些理解(通俗版)
  16. 超星作业文件解压和自动命名脚本
  17. cannot import name ‘mean_squared_erro‘ from ‘sklearn.metrics‘
  18. nginx界面管理工具之nginxWebUI 搭建与使用
  19. 量化交易系统用例图(一)
  20. 使用Qt合并图片的算法

热门文章

  1. 杰理之启用消人声之后声音变调【篇】
  2. 【1399】甲流病人初筛
  3. 不能再担任法定代表人的情形是哪些
  4. python中import random可以省略吗_import random函数 python中random什么意思
  5. stack java 打印_如何在java中打印完整的stacktrace
  6. Tensorflow2 图像分类-Flowers数据深度学习模型保存、读取、参数查看和图像预测
  7. Spark:Please check stacktrace for the root cause.
  8. 北京大学生物信息学-第五周-新一代测序(NGS) 回帖 BWT算法
  9. [图文]历届奥斯卡影帝(上)
  10. mysql curdate()结果不正确_mysql-在MySQL中添加数据用到CURDATE()遇到的问题