洞察与分析

洞察与分析为 Docker Hub 上的 Docker 验证发布者 (DVP) 和 Docker 赞助开源项目 (DSOS) 镜像提供使用情况分析。这包括在指定时间范围内对镜像和扩展使用情况指标的自助访问。您还可以按 Tag 或按 digest 显示镜像拉取次数,并按地理位置、云提供商、客户端等获取详细分类数据。

提示

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

查看镜像的分析数据

您可以在以下 URL 的洞察与分析仪表盘上找到您仓库的分析数据:https://hub.docker.com/orgs/{namespace}/insights/images。该仪表盘包含使用数据的可视化图表以及一个可下载 CSV 文件的数据表格。

在图表中查看数据

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

提示

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

分享分析数据

您可以使用图表上方的分享图标与其他人分享可视化图表。这是与组织内其他人分享统计数据的便捷方式。

Chart share icon

选择该图标会生成一个链接,并复制到您的剪贴板。该链接会保留您所做的显示选择。当有人通过该链接访问时,会打开洞察与分析页面,并按照您创建链接时的设置显示图表。

扩展分析数据

如果您在扩展 Marketplace 中发布了 Docker 扩展,您还可以获取有关扩展使用情况的分析数据,这些数据可作为 CSV 文件下载。您可以从以下 URL 的洞察与分析仪表盘下载扩展 CSV 报告:https://hub.docker.com/orgs/{namespace}/insights/extensions。如果您的 Docker namespace 包含 Marketplace 中已知的扩展,您将看到一个扩展选项卡,其中列出了您的扩展的 CSV 文件。

导出分析数据

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

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

导出数据

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

  1. 登录到 Docker Hub 并选择我的 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 Data API 文档中了解如何使用 API 导出数据。

数据点

可以导出原始格式或汇总格式的数据。每种格式包含不同的数据点和不同的结构。

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

镜像拉取原始数据

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

数据点描述添加日期
操作请求类型,参见操作分类规则。之一:pull_by_tag, pull_by_digest, version_check2022 年 1 月 1 日
操作日时间戳的日期部分:YYYY-MM-DD2022 年 1 月 1 日
国家/地区请求源国家/地区。2022 年 1 月 1 日
Digest镜像 digest。2022 年 1 月 1 日
HTTP 方法请求中使用的 HTTP 方法,详情参见Registry API 文档2022 年 1 月 1 日
云服务提供商事件中使用的云服务提供商。2022 年 1 月 1 日
NamespaceDocker 组织(镜像 namespace)。2022 年 1 月 1 日
参考请求中使用的镜像 digest 或 Tag。2022 年 1 月 1 日
仓库Docker 仓库(镜像名称)。2022 年 1 月 1 日
Tag(可用时包含)仅当请求引用 Tag 时可用的 Tag 名称。2022 年 1 月 1 日
时间戳请求的日期和时间:YYYY-MM-DD 00:00:002022 年 1 月 1 日
类型事件源自的行业。之一:business(企业), isp(互联网服务提供商), hosting(托管), null(空)。2022 年 1 月 1 日
用户代理工具用户用于拉取镜像的应用(例如,dockercontainerd)。2022 年 1 月 1 日
用户代理版本用于拉取镜像的应用版本。2022 年 1 月 1 日
请求源域,参见隐私2022 年 10 月 11 日
所有者拥有该仓库的组织的名称。2022 年 12 月 19 日

镜像拉取汇总数据

汇总数据有两种级别可用

  • 仓库级别:每个 namespace 和仓库的汇总数据
  • Tag 或 digest 级别:每个 namespace、仓库和引用(Tag 或 digest)的汇总数据

汇总数据格式包含选定时间范围内的以下数据点

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

镜像拉取操作分类规则

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

  • 版本检查
  • 按 Tag 拉取
  • 按 Digest 拉取

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

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

起始事件参考后续事件结果操作用例备注
HEADtag不适用版本检查用户本地已存在所有层这类似于用户本地已存在所有镜像层时按 Tag 拉取的情况,但它区分了用户的意图并据此进行分类。
GETtag不适用按 Tag 拉取用户本地已存在所有层和/或镜像为单架构
GETtag按不同的 digest 获取按 Tag 拉取镜像为多架构第二个按 digest 的 GET 请求必须与第一个不同。
HEADtag按相同的 digest 获取按 Tag 拉取镜像为多架构,但本地已存在部分或全部镜像层按 Tag 的 HEAD 请求发送最新的 digest,后续的 GET 请求必须是该相同的 digest。如果镜像为多架构(参见本表下一行),可能会出现额外的 GET 请求。如果用户不想要最新的 digest,则会执行按 digest 的 HEAD 请求。
HEADtag按相同的 digest 获取,然后按不同的 digest 进行第二次获取按 Tag 拉取镜像为多架构按 Tag 的 HEAD 请求发送最新的 digest,后续的 GET 请求必须是该相同的 digest。因为镜像为多架构,所以会有第二个按不同 digest 的 GET 请求。如果用户不想要最新的 digest,则会执行按 digest 的 HEAD 请求。
HEADtag按相同的 digest 获取,然后按不同的 digest 进行第二次获取按 Tag 拉取镜像为多架构按 Tag 的 HEAD 请求发送最新的 digest,后续的 GET 请求必须是该相同的 digest。因为镜像为多架构,所以会有第二个按不同 digest 的 GET 请求。如果用户不想要最新的 digest,则会执行按 digest 的 HEAD 请求。
GETdigest不适用按 Digest 拉取用户本地已存在所有层和/或镜像为单架构
HEADdigest不适用按 Digest 拉取用户本地已存在所有层
GETdigest按不同的 digest 获取按 Digest 拉取镜像为多架构第二个按 digest 的 GET 请求必须与第一个不同。
HEADdigest按相同的 digest 获取按 Digest 拉取镜像为单架构和/或镜像为多架构但本地已存在部分镜像
HEADdigest按相同的 digest 获取,然后按不同的 digest 进行第二次获取按 Digest 拉取镜像为多架构

扩展汇总数据

扩展汇总数据有两种级别可用

  • 核心汇总:包含基本的扩展使用信息:扩展安装次数、卸载次数和总安装次数

core-summary-data 文件包含选定时间范围内的以下数据点

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

core-summary-data 文件包含选定时间范围内的以下数据点

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

页面选项