洞察与分析

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

提示

前往 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。了解如何使用 API 导出数据,请参阅 DVP 数据 API 文档

数据点

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

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

镜像拉取原始数据

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

数据点描述添加日期
操作请求类型,参见 操作分类规则。值为 pull_by_tagpull_by_digestversion_check 之一。2022 年 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 日
类型事件所属的行业。取值为 businessisphostingeducationnull 之一。2022 年 1 月 1 日
用户代理工具用户用于拉取镜像的应用程序(例如,dockercontainerd)。2022 年 1 月 1 日
用户代理版本用于拉取镜像的应用程序版本。2022 年 1 月 1 日
域名请求来源域名,请参阅 隐私政策2022 年 10 月 11 日
所有者拥有该仓库的组织名称。2022 年 12 月 19 日

镜像拉取汇总数据

有两种级别的摘要数据可用:

  • 仓库级别:每个命名空间和仓库的摘要
  • 按标签或摘要级别,提供每个命名空间、仓库和引用(标签或摘要)的摘要信息。

摘要数据格式包含所选时间范围内的以下数据点:

数据点描述添加日期
唯一 IP 地址唯一 IP 地址数量,请参阅 隐私政策2022 年 1 月 1 日
按标签拉取通过摘要或标签获取请求。2022 年 1 月 1 日
按摘要拉取通过摘要进行 GET 或 HEAD 请求,或通过摘要进行 HEAD 请求。2022 年 1 月 1 日
版本检查通过标签获取 HEAD,未跟随 GET2022 年 1 月 1 日
所有者拥有该仓库的组织名称。2022 年 12 月 19 日

镜像拉取操作分类规则

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

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

自动化系统经常检查您镜像的新版本。能够区分 CI 中的“版本检查”与用户实际拉取镜像的行为,可以为您提供更多关于用户行为的洞察。

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

启动事件参考紧随其后生成的操作用例笔记
头部标签N/A版本检查用户本地机器上已存在所有层这类似于用户已本地拥有所有镜像层时的按标签拉取用例,但它区分了用户意图并据此进行分类。
get标签N/A按标签拉取用户本地机器上已存在所有层,且/或该镜像为单架构
get标签通过不同的摘要获取按标签拉取镜像是多架构的通过摘要进行的第二次 GET 请求必须与第一次不同。
头部标签通过相同摘要获取按标签拉取镜像是多架构的,但部分或全部镜像层已存在于本地机器上通过标签发送的 HEAD 请求会返回最新的摘要(digest),随后的 GET 请求必须使用相同的摘要。如果镜像是多架构的(参见本表中的下一行),则可能会发生额外的 GET 请求。如果用户不希望获取最新摘要,则用户应直接通过摘要执行 HEAD 请求。
头部标签通过相同的摘要获取,然后通过不同的摘要再次获取按标签拉取镜像是多架构的通过标签发送的 HEAD 请求会返回最新的摘要(digest),随后的 GET 请求必须使用相同的摘要。由于该镜像是多架构的,因此会通过不同的摘要执行第二次 GET 请求。如果用户不需要最新的摘要,则用户应直接通过摘要执行 HEAD 请求。
头部标签通过相同的摘要获取,然后通过不同的摘要再次获取按标签拉取镜像是多架构的通过标签发送的 HEAD 请求会返回最新的摘要,随后的 GET 请求必须使用该相同的摘要。由于镜像是多架构的,因此存在另一个使用不同摘要的 GET 请求。如果用户不需要最新的摘要,则用户应通过摘要执行 HEAD 请求。
get摘要N/A按摘要拉取用户本地机器上已存在所有层,且/或该镜像为单架构
头部摘要N/A按摘要拉取用户本地机器上已存在所有层
get摘要通过不同的摘要获取按摘要拉取镜像是多架构的通过摘要进行的第二次 GET 请求必须与第一次不同。
头部摘要通过相同摘要获取按摘要拉取镜像为单架构和/或镜像为多架构但镜像的某些部分已存在于本地机器上
头部摘要通过相同的摘要获取,然后通过不同的摘要再次获取按摘要拉取镜像是多架构的

扩展摘要数据

有两个级别的扩展摘要数据可用:

  • 核心摘要,包含基本扩展使用信息:扩展安装次数、卸载次数以及累计总安装次数

核心摘要数据文件包含以下选定时间跨度内的数据点:

数据点描述添加日期
安装扩展的安装数量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(此比例因发布者和镜像而异)。