将 Docker Scout 与 Azure 容器注册表集成

通过将 Docker Scout 与 Azure 容器注册表 (ACR) 集成,可以查看 ACR 存储库中托管的镜像的镜像见解。集成 Docker 后 使用 ACR 进行 Scout 并为存储库激活 Docker Scout,推送镜像 添加到存储库中,会自动触发镜像分析。您可以查看镜像 Insights 中使用 Docker Scout Dashboard 或docker scoutCLI 命令。

运作方式

为了帮助你将 Azure 容器注册表与 Docker Scout 集成,你可以 使用自定义 Azure Resource Manager (ARM) 模板,该模板会自动创建 Azure 中为你提供必要的基础结构:

  • 用于镜像推送和删除事件的 EventGrid 主题和订阅。
  • 注册表的只读授权令牌,用于列出存储库, 并摄取镜像。

在 Azure 中创建资源后,您可以启用集成 对于集成 ACR 实例中的镜像存储库。启用 存储库,推送新镜像会自动触发镜像分析。这 分析结果显示在 Docker Scout Dashboard 中。

如果您在已包含镜像的存储库上启用集成,则 Docker Scout 会自动拉取并分析最新的镜像版本。

ARM 模板

下表描述了配置资源。

注意

创建这些资源会在 Azure 帐户上产生少量的经常性成本。 表中的 Cost (成本) 列表示 资源,集成每个推送 100 个镜像的 ACR 注册表时 日。

Egress 成本因使用情况而异,但约为 0.1 USD/GB,并且 前 100 GB 是免费的。

天蓝色资源成本
事件网格系统主题订阅 Azure 容器注册表事件(镜像推送和镜像删除)自由
事件订阅通过 Webhook 订阅将事件网格事件发送到 Scout每 1M 条消息 0.60 USD。前 100 公里免费。
Registry Token用于 Scout 列出存储库并从注册表中提取镜像的只读令牌自由

以下 JSON 文档显示了 Docker Scout 用于创建的 ARM 模板 Azure 资源。

集成注册表

  1. 转到 ACR 集成页面 Docker Scout 仪表板。

  2. How to integrate 部分中,输入 Registry hostname 的 注册表。

  3. 选择 Next(下一步)。

  4. 选择“部署到 Azure”,在 Azure 中打开模板部署向导。

    如果您尚未登录 Azure 帐户,系统可能会提示您登录 Azure 帐户 已登录。

  5. 在模板向导中,配置您的部署:

    • 资源组:输入用于 容器注册表。Docker Scout 资源必须部署到 与注册表相同的资源组。

    • Registry name:该字段预先填充了 Registry 主机名。

  6. 选择“查看 + 创建”,然后选择“创建”以部署模板。

  7. 等待部署完成。

  8. Deployment details (部署详细信息) 部分中,单击新创建的资源 类型 Container registry token。为此令牌生成新密码。

    或者,使用 Azure 中的搜索功能导航到要集成的容器注册表资源,然后 为创建的访问令牌生成新密码。

  9. 复制生成的密码并返回 Docker Scout 仪表板以 完成集成。

  10. 将生成的密码粘贴到 Registry token 字段中。

  11. 选择 Enable integration(启用集成)。

选择 Enable integration (启用集成) 后,Docker Scout 将执行连接测试 以验证集成。如果验证成功,则您是 已重定向到 Azure 注册表摘要页,其中显示了您的所有 Azure 当前组织的集成。

接下来,为 Repository settings (存储库设置) 中要分析的存储库激活 Docker Scout。

激活存储库后,Docker 会分析您推送的镜像 侦察员。分析结果将显示在 Docker Scout Dashboard 中。 如果您的存储库已包含镜像,Docker Scout 会拉取并分析 latest image version 自动。

删除集成

重要

在 Docker Scout Dashboard 中删除集成不会自动 删除在 Azure 中创建的资源。

要删除 ACR 集成:

  1. 转到 Docker Scout 仪表板上的 ACR 集成页

  2. 找到要删除的 ACR 集成,然后选择 Remove 按钮。

  3. 在打开的对话框中,选择 Remove 进行确认。

  4. 在 Docker Scout 控制面板中删除集成后,还要删除 与集成相关的 Azure 资源:

    • docker-scout-readonly-token容器注册表的令牌。
    • docker-scout-repository事件网格系统主题。

APP信息