V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
AlaudaCloud
V2EX  ›  Docker

Docker Hub 最受欢迎的 10 大镜像

  •  
  •   AlaudaCloud · 2015-09-06 15:33:00 +08:00 · 4832 次点击
    这是一个创建于 3371 天前的主题,其中的信息可能已经有所发展或是发生改变。

    DockerHub 上有多少个镜像?

    哪些基础镜像被引用最多?

    哪些镜像最受欢迎?

    来自 CenturyLink 实验室博客的一篇文章将为你解答这些问题,文中所有数据均来自 2015 年 8 月 6 日, Docker Registry API 的调用。
    ‌‌
    灵雀云正在举办“我要上头条: Docker 镜像征集”活动,参与有大奖,看看哪些镜像最受国内最用户的欢迎!

    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 个,这也是相当大的增幅。

    鉴于国内访问 Docker Hub 的诸多不便,灵雀云镜像中心也是一个容器化服务发布和共享的社区平台,其中汇集了数以万计的来自平台、社区和第三方的优质镜像,让用户组合、复用容器化服务,轻松搭建新一代云端应用。

    灵雀云正在举办“我要上头条: Docker 镜像征集”活动,参与有大奖,看看哪些镜像最受国内最用户的欢迎!

    机构( Organizations )

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

    Organization

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

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

    收藏数( Stars )

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

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

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

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

    在灵雀云, aspnet 也是一个比较受欢迎的镜像:
    镜像地址: https://hub.alauda.cn/repos/microsoft/aspnet
    pull 命令: docker pull index.alauda.cn/microsoft/aspnet

    在刚刚结束的“我要上头条”活动数据显示,这一个月来灵雀云最受欢迎的非官方镜像是 ToughRADIUS 开源宽带认证计费系统的 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 ,显著缩小了镜像的大小。

    []()docker-images-alpine-vs-ubuntu

    灵雀云用户 alexwhen ,在“精简 Docker 镜像”一文中,也曾提到过这个观点。

    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 特性可以帮你实现这一点。

    本文为王家隆的投稿文章,译自: https://labs.ctl.io/docker-hub-top-10/

    4 条回复    2015-09-15 18:15:21 +08:00
    sunyang
        1
    sunyang  
       2015-09-06 16:19:52 +08:00
    最好贴在自己的博客或者第三方发布平台上。这里贴链接即可。
    1 ,方便你随时修改文章
    2 ,这是社区文化
    loading
        2
    loading  
       2015-09-06 20:15:07 +08:00 via iPhone
    coreos 居然没有,前期还说得沸沸扬扬~
    AlaudaCloud
        3
    AlaudaCloud  
    OP
       2015-09-08 14:24:01 +08:00
    @sunyang 这样吗。。。我看大家收藏得还挺多的,直接贴链接大家会点吗?
    likuku
        4
    likuku  
       2015-09-15 18:15:21 +08:00
    @AlaudaCloud 这里贴全文是违规的。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5841 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 151ms · UTC 01:48 · PVG 09:48 · LAX 17:48 · JFK 20:48
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.