洞察与分析
洞察与分析为 Docker Hub 上的 Docker 验证发布者 (DVP) 和 Docker 赞助开源项目 (DSOS) 镜像提供使用情况分析。这包括在指定时间范围内对镜像和扩展使用情况指标的自助访问。您还可以按 Tag 或按 digest 显示镜像拉取次数,并按地理位置、云提供商、客户端等获取详细分类数据。
提示
前往 Docker 验证发布者计划 或 Docker 赞助开源项目 页面,了解更多关于这些计划的信息。
查看镜像的分析数据
您可以在以下 URL 的洞察与分析仪表盘上找到您仓库的分析数据:https://hub.docker.com/orgs/{namespace}/insights/images
。该仪表盘包含使用数据的可视化图表以及一个可下载 CSV 文件的数据表格。
在图表中查看数据
- 选择数据粒度:每周或每月
- 选择时间间隔:3、6 或 12 个月
- 在列表中选择一个或多个仓库


提示
将光标悬停在图表上会显示一个工具提示,显示特定时间点上的精确数据。
分享分析数据
您可以使用图表上方的分享图标与其他人分享可视化图表。这是与组织内其他人分享统计数据的便捷方式。


选择该图标会生成一个链接,并复制到您的剪贴板。该链接会保留您所做的显示选择。当有人通过该链接访问时,会打开洞察与分析页面,并按照您创建链接时的设置显示图表。
扩展分析数据
如果您在扩展 Marketplace 中发布了 Docker 扩展,您还可以获取有关扩展使用情况的分析数据,这些数据可作为 CSV 文件下载。您可以从以下 URL 的洞察与分析仪表盘下载扩展 CSV 报告:https://hub.docker.com/orgs/{namespace}/insights/extensions
。如果您的 Docker namespace 包含 Marketplace 中已知的扩展,您将看到一个扩展选项卡,其中列出了您的扩展的 CSV 文件。
导出分析数据
您可以从 Web 仪表盘或使用 DVP Data API 导出分析数据。组织的所有成员都可以访问分析数据。
数据可作为可下载的 CSV 文件提供,格式为每周(周一至周日)或每月。月度数据从下一个日历月的第一天开始可用。您可以将此数据导入到您自己的系统中,也可以手动作为电子表格进行分析。
导出数据
按照以下步骤使用 Docker Hub 网站导出您组织镜像的使用数据
登录到 Docker Hub 并选择我的 Hub。
选择您的组织,然后选择分析。
设置要导出分析数据的时间范围。
汇总数据和原始数据的可下载 CSV 文件会出现在右侧。
使用 API 导出数据
HTTP API 端点位于:https://hub.docker.com/api/publisher/analytics/v1
。在DVP Data API 文档中了解如何使用 API 导出数据。
数据点
可以导出原始格式或汇总格式的数据。每种格式包含不同的数据点和不同的结构。
以下部分描述了每种格式可用的数据点。添加日期列显示该字段首次引入的时间。
镜像拉取原始数据
原始数据格式包含以下数据点。CSV 文件中的每一行代表一次镜像拉取。
数据点 | 描述 | 添加日期 |
---|---|---|
操作 | 请求类型,参见操作分类规则。之一:pull_by_tag , pull_by_digest , version_check 。 | 2022 年 1 月 1 日 |
操作日 | 时间戳的日期部分:YYYY-MM-DD 。 | 2022 年 1 月 1 日 |
国家/地区 | 请求源国家/地区。 | 2022 年 1 月 1 日 |
Digest | 镜像 digest。 | 2022 年 1 月 1 日 |
HTTP 方法 | 请求中使用的 HTTP 方法,详情参见Registry API 文档。 | 2022 年 1 月 1 日 |
云服务提供商 | 事件中使用的云服务提供商。 | 2022 年 1 月 1 日 |
Namespace | Docker 组织(镜像 namespace)。 | 2022 年 1 月 1 日 |
参考 | 请求中使用的镜像 digest 或 Tag。 | 2022 年 1 月 1 日 |
仓库 | Docker 仓库(镜像名称)。 | 2022 年 1 月 1 日 |
Tag(可用时包含) | 仅当请求引用 Tag 时可用的 Tag 名称。 | 2022 年 1 月 1 日 |
时间戳 | 请求的日期和时间:YYYY-MM-DD 00:00:00 。 | 2022 年 1 月 1 日 |
类型 | 事件源自的行业。之一:business (企业), isp (互联网服务提供商), hosting (托管), null (空)。 | 2022 年 1 月 1 日 |
用户代理工具 | 用户用于拉取镜像的应用(例如,docker 或 containerd )。 | 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 请求,后不跟 GET | 2022 年 1 月 1 日 |
所有者 | 拥有该仓库的组织的名称。 | 2022 年 12 月 19 日 |
镜像拉取操作分类规则
一个操作代表与 docker pull
相关的多个请求事件。拉取按类别分组,以便更有效地理解用户行为和意图。类别包括
- 版本检查
- 按 Tag 拉取
- 按 Digest 拉取
自动化系统会频繁检查您的镜像的新版本。能够区分 CI 中的“版本检查”和用户的实际镜像拉取,可以帮助您更深入地了解用户的行为。
下表描述了用于确定拉取意图的规则。要提供反馈或就这些规则提问,请填写 Google 表单。
起始事件 | 参考 | 后续事件 | 结果操作 | 用例 | 备注 |
---|---|---|---|---|---|
HEAD | tag | 不适用 | 版本检查 | 用户本地已存在所有层 | 这类似于用户本地已存在所有镜像层时按 Tag 拉取的情况,但它区分了用户的意图并据此进行分类。 |
GET | tag | 不适用 | 按 Tag 拉取 | 用户本地已存在所有层和/或镜像为单架构 | |
GET | tag | 按不同的 digest 获取 | 按 Tag 拉取 | 镜像为多架构 | 第二个按 digest 的 GET 请求必须与第一个不同。 |
HEAD | tag | 按相同的 digest 获取 | 按 Tag 拉取 | 镜像为多架构,但本地已存在部分或全部镜像层 | 按 Tag 的 HEAD 请求发送最新的 digest,后续的 GET 请求必须是该相同的 digest。如果镜像为多架构(参见本表下一行),可能会出现额外的 GET 请求。如果用户不想要最新的 digest,则会执行按 digest 的 HEAD 请求。 |
HEAD | tag | 按相同的 digest 获取,然后按不同的 digest 进行第二次获取 | 按 Tag 拉取 | 镜像为多架构 | 按 Tag 的 HEAD 请求发送最新的 digest,后续的 GET 请求必须是该相同的 digest。因为镜像为多架构,所以会有第二个按不同 digest 的 GET 请求。如果用户不想要最新的 digest,则会执行按 digest 的 HEAD 请求。 |
HEAD | tag | 按相同的 digest 获取,然后按不同的 digest 进行第二次获取 | 按 Tag 拉取 | 镜像为多架构 | 按 Tag 的 HEAD 请求发送最新的 digest,后续的 GET 请求必须是该相同的 digest。因为镜像为多架构,所以会有第二个按不同 digest 的 GET 请求。如果用户不想要最新的 digest,则会执行按 digest 的 HEAD 请求。 |
GET | digest | 不适用 | 按 Digest 拉取 | 用户本地已存在所有层和/或镜像为单架构 | |
HEAD | digest | 不适用 | 按 Digest 拉取 | 用户本地已存在所有层 | |
GET | digest | 按不同的 digest 获取 | 按 Digest 拉取 | 镜像为多架构 | 第二个按 digest 的 GET 请求必须与第一个不同。 |
HEAD | digest | 按相同的 digest 获取 | 按 Digest 拉取 | 镜像为单架构和/或镜像为多架构但本地已存在部分镜像 | |
HEAD | digest | 按相同的 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 类型(这因发布者和镜像而异)。