洞察和分析

洞察和分析提供Docker验证发布者(DVP)和Docker赞助的开源(DSOS)镜像在Docker Hub上的使用情况分析。这包括对所需时间段的镜像和扩展使用情况指标的自服务访问。您还可以显示按标签或摘要划分的镜像拉取次数,并按地理位置、云提供商、客户端等进行细分。

提示

前往Docker验证发布者计划Docker赞助的开源项目页面,了解更多关于这些计划的信息。

查看镜像的分析数据

您可以在以下URL的洞察和分析仪表盘上找到您的代码库的分析数据:https://hub.docker.com/orgs/{namespace}/insights/images。该仪表盘包含使用情况数据的可视化以及您可以将数据下载为CSV文件的表格。

要在图表中查看数据

  • 选择数据粒度:每周或每月
  • 选择时间间隔:3、6或12个月
  • 选择列表中一个或多个代码库
Insights and analytics chart visualization

提示

将光标悬停在图表上会显示工具提示,显示特定时间点的数据。

分享分析数据

您可以使用图表上方的分享图标与其他人分享可视化效果。这是与组织中的其他人分享统计信息的便捷方式。

Chart share icon

选择该图标会生成一个链接,该链接会被复制到您的剪贴板。该链接会保留您所做的显示选择。当有人点击该链接时,洞察和分析页面会打开并显示与您创建链接时设置相同的配置的图表。

扩展分析数据

如果您已在扩展市场发布了Docker扩展,您还可以获取有关扩展使用情况的分析数据(以CSV文件形式提供)。您可以从以下URL的洞察和分析仪表盘下载扩展CSV报告:https://hub.docker.com/orgs/{namespace}/insights/extensions。如果您的Docker命名空间包含市场上已知的扩展,您将看到一个扩展选项卡,其中列出了您的扩展的CSV文件。

导出分析数据

您可以从Web仪表盘或使用DVP数据API导出分析数据。组织的所有成员都可以访问分析数据。

数据以可下载的CSV文件形式提供,格式为每周(周一至周日)或每月。每月数据可从下一个日历月的第一天开始获取。您可以将此数据导入您自己的系统,也可以将其手动分析为电子表格。

导出数据

按照以下步骤,使用 Docker Hub 网站导出组织图像的使用数据。

  1. 登录 Docker Hub 并选择组织

  2. 选择您的组织,然后选择洞察与分析

    Organization overview page, with the Insights and Analytics tab
  3. 设置要导出分析数据的时段。

    摘要数据和原始数据的可下载 CSV 文件会显示在右侧。

    Filtering options and download links for analytics data

使用API导出数据

HTTP API 端点位于:https://hub.docker.com/api/publisher/analytics/v1。请在 DVP 数据 API 文档 中了解如何使用 API 导出数据。

数据点

可以导出原始格式或摘要格式的数据。每种格式包含不同的数据点,结构也不同。

以下部分描述了每种格式可用的数据点。“添加日期”列显示该字段首次引入的时间。

镜像拉取原始数据

原始数据格式包含以下数据点。CSV 文件中的每一行都代表一个镜像拉取。

数据点描述添加日期
操作请求类型,请参见 操作分类规则。其中之一为pull_by_tagpull_by_digestversion_check2022年1月1日
操作日期时间戳的日期部分:YYYY-MM-DD2022年1月1日
国家/地区请求来源国家/地区。2022年1月1日
摘要镜像摘要。2022年1月1日
HTTP 方法请求中使用的 HTTP 方法,详情请参见 注册表 API 文档2022年1月1日
主机事件中使用的云服务提供商。2022年1月1日
命名空间Docker 组织(镜像命名空间)。2022年1月1日
参考请求中使用的镜像摘要或标签。2022年1月1日
仓库Docker 仓库(镜像名称)。2022年1月1日
标签(如果可用)仅当请求引用标签时才可用的标签名称。2022年1月1日
时间戳请求的日期和时间:YYYY-MM-DD 00:00:002022年1月1日
类型事件来源的行业。其中之一为businessisphostingeducationnull2022年1月1日
用户代理工具用户用来拉取镜像的应用程序(例如,dockercontainerd)。2022年1月1日
用户代理版本用来拉取镜像的应用程序的版本。2022年1月1日
域名请求来源域名,请参见 隐私2022年10月11日
所有者拥有该仓库的组织的名称。2022年12月19日

镜像拉取汇总数据

提供两种级别的摘要数据

  • 仓库级别,每个命名空间和仓库的摘要
  • 标签或摘要级别,每个命名空间、仓库和引用(标签或摘要)的摘要

摘要数据格式包含所选时间段的以下数据点

数据点描述添加日期
唯一 IP 地址唯一 IP 地址的数量,请参见 隐私2022年1月1日
按标签拉取GET 请求,按摘要或按标签。2022年1月1日
按摘要拉取按摘要的 GET 或 HEAD 请求,或按摘要的 HEAD。2022年1月1日
版本检查按标签的 HEAD,后面没有 GET2022年1月1日
所有者拥有该仓库的组织的名称。2022年12月19日

镜像拉取操作分类规则

一个操作代表与docker pull关联的多个请求事件。拉取按类别分组,以便更有效地了解用户行为和意图。类别包括:

  • 版本检查
  • 按标签拉取
  • 按摘要拉取

自动化系统会经常检查镜像的新版本。能够区分 CI 中的“版本检查”与用户实际拉取的镜像,可以让您更深入地了解用户行为。

下表描述了用于确定拉取背后意图的规则。要提供反馈或询问有关这些规则的问题,请 填写 Google 表单

起始事件参考随后结果操作用例注释
HEAD标签N/A版本检查用户本地机器上已存在所有层这类似于用户本地机器上已存在所有镜像层时的按标签拉取用例,但是它区分了用户意图并进行了相应的分类。
GET标签N/A按标签拉取用户本地机器上已存在所有层和/或镜像为单架构
GET标签通过不同的摘要获取按标签拉取镜像为多架构第二个通过摘要的 GET 必须与第一个不同。
HEAD标签通过相同的摘要获取按标签拉取镜像为多架构,但本地机器上已存在部分或所有镜像层HEAD by tag 发送最新的摘要,随后的 GET 必须使用相同的摘要。如果镜像为多架构,则可能会发生额外的 GET(请参见此表中的下一行)。如果用户不想要最新的摘要,则用户执行 HEAD by digest。
HEAD标签通过相同的摘要获取,然后通过不同的摘要获取按标签拉取镜像为多架构HEAD by tag 发送最新的摘要,随后的 GET 必须使用相同的摘要。由于镜像为多架构,因此会通过不同的摘要进行第二次 GET。如果用户不想要最新的摘要,则用户执行 HEAD by digest。
HEAD标签通过相同的摘要获取,然后通过不同的摘要获取按标签拉取镜像为多架构HEAD by tag 发送最新的摘要,随后的 GET 必须使用相同的摘要。由于镜像为多架构,因此会通过不同的摘要进行第二次 GET。如果用户不想要最新的摘要,则用户执行 HEAD by digest。
GET摘要N/A按摘要拉取用户本地机器上已存在所有层和/或镜像为单架构
HEAD摘要N/A按摘要拉取用户本地机器上已存在所有层
GET摘要通过不同的摘要获取按摘要拉取镜像为多架构第二个通过摘要的 GET 必须与第一个不同。
HEAD摘要通过相同的摘要获取按摘要拉取镜像为单架构和/或镜像为多架构,但镜像的某些部分已存在于本地机器上
HEAD摘要通过相同的摘要获取,然后通过不同的摘要获取按摘要拉取镜像为多架构

扩展汇总数据

提供两种级别的扩展摘要数据

  • 核心摘要,包含基本的扩展使用信息:扩展安装、卸载次数以及所有时间的总安装次数

核心摘要数据文件包含所选时间段的以下数据点

数据点描述添加日期
安装扩展的安装次数2024年2月1日
总安装次数扩展的所有时间的安装次数2024年2月1日
卸载扩展的卸载次数2024年2月1日
总卸载次数扩展的所有时间的卸载次数2024年2月1日
更新扩展的更新次数2024年2月1日
  • 高级摘要,包含高级扩展使用信息:按唯一用户的安装、卸载次数以及按唯一用户的扩展打开次数。

核心摘要数据文件包含所选时间段的以下数据点

数据点描述添加日期
安装扩展的安装次数2024年2月1日
唯一安装次数安装扩展的唯一用户数2024年2月1日
卸载扩展的卸载次数2024年2月1日
唯一卸载次数卸载扩展的唯一用户数2024年2月1日
用法扩展选项卡的打开次数2024年2月1日
唯一用户数打开扩展选项卡的唯一用户数2024年2月1日

数据随时间的变化

洞察与分析服务正在不断改进,以提高其为发布者带来的价值。一些更改可能包括添加新的数据点或改进现有数据以使其更有用。

数据集中的更改(例如添加或删除字段)通常仅适用于字段首次引入的日期及其后的日期。

请参阅 数据点 部分中的表格,查看给定数据点可用的日期。

隐私

本节包含有关隐私保护措施的信息,这些措施可确保 Docker Hub 上内容的使用者保持完全匿名。

重要

Docker 从不共享任何个人身份信息 (PII) 作为分析数据的一部分。

镜像拉取摘要数据集中包含唯一 IP 地址计数。此数据点仅包含请求镜像的不同唯一 IP 地址的数量。从不共享单个 IP 地址。

镜像拉取原始数据集中包含用户 IP 域名作为数据点。这是与用于拉取镜像的 IP 地址关联的域名。如果 IP 类型为business,则域名代表与该 IP 地址关联的公司或组织(例如,docker.com)。对于任何不是business的其他 IP 类型,域名表示用于发出请求的互联网服务提供商或托管提供商。平均而言,只有大约 30% 的拉取被分类为business IP 类型(这在发布者和镜像之间有所不同)。