将 Docker Scout 与 Azure Container Registry 集成
将 Docker Scout 与 Azure Container Registry (ACR) 集成后,您可以查看托管在 ACR 仓库中的镜像的镜像洞察。在将 Docker Scout 与 ACR 集成并为仓库激活 Docker Scout 后,将镜像推送到仓库会自动触发镜像分析。您可以使用 Docker Scout Dashboard 或 docker scout
CLI 命令查看镜像洞察。
工作原理
为了帮助您将 Azure Container Registry 与 Docker Scout 集成,您可以使用自定义的 Azure Resource Manager (ARM) 模板,该模板会自动在 Azure 中为您创建必要的基础设施
- 用于镜像推送和删除事件的 EventGrid 主题和订阅。
- 一个用于注册表的只读授权令牌,用于列出仓库并引入镜像。
在 Azure 中创建资源后,您可以为集成 ACR 实例中的镜像仓库启用集成。一旦启用了仓库,推送新镜像将自动触发镜像分析。分析结果会显示在 Docker Scout Dashboard 中。
如果您在一个已经包含镜像的仓库上启用集成,Docker Scout 会自动拉取并分析最新的镜像版本。
ARM 模板
下表描述了配置资源。
注意
创建这些资源会在 Azure 账户上产生少量周期性费用。表中成本列表示这些资源的估计月度成本,假设集成了一个每天推送 100 个镜像的 ACR 注册表。
出站流量费用因使用情况而异,但大约每 GB 0.1 美元,前 100 GB 免费。
Azure | 资源 | 成本 |
---|---|---|
Event Grid 系统主题 | 订阅 Azure Container Registry 事件(镜像推送和镜像删除) | 免费 |
事件订阅 | 通过 Webhook 订阅将 Event Grid 事件发送到 Scout | 每 100 万条消息 0.60 美元。前 10 万条免费。 |
注册表令牌 | Scout 用于列出仓库和从注册表拉取镜像的只读令牌 | 免费 |
以下 JSON 文档显示了 Docker Scout 用于创建 Azure 资源的 ARM 模板。
集成注册表
前往 Docker Scout Dashboard 上的ACR 集成页面。
在如何集成部分,输入您要集成的注册表的注册表主机名。
选择下一步。
选择部署到 Azure 在 Azure 中打开模板部署向导。
如果您尚未登录,可能会提示您登录 Azure 账户。
在模板向导中,配置您的部署
资源组:输入与容器注册表使用的资源组相同的资源组。Docker Scout 资源必须部署到与注册表相同的资源组。
注册表名称:此字段已预填充注册表主机名的子域。
选择审查 + 创建,然后选择创建来部署模板。
等待部署完成。
在部署详细信息部分,点击新创建的类型为容器注册表令牌的资源。为此令牌生成一个新密码。
或者,使用 Azure 中的搜索功能导航到您要集成的容器注册表资源,并为创建的访问令牌生成新密码。
复制生成的密码,然后返回 Docker Scout Dashboard 完成集成。
将生成的密码粘贴到注册表令牌字段中。
选择启用集成。
选择启用集成后,Docker Scout 会执行连接测试以验证集成。如果验证成功,您将被重定向到 Azure 注册表摘要页面,该页面显示当前组织的所有 Azure 集成。
接下来,在仓库设置中为您要分析的仓库激活 Docker Scout。
激活仓库后,您推送的镜像将由 Docker Scout 进行分析。分析结果显示在 Docker Scout Dashboard 中。如果您的仓库已经包含镜像,Docker Scout 会自动拉取并分析最新的镜像版本。
移除集成
重要提示
在 Docker Scout Dashboard 中移除集成不会自动移除在 Azure 中创建的资源。
移除 ACR 集成
前往 Docker Scout Dashboard 上的ACR 集成页面。
找到您要移除的 ACR 集成,然后选择移除按钮。
在打开的对话框中,通过选择移除来确认。
在 Docker Scout Dashboard 中移除集成后,还需要移除与集成相关的 Azure 资源
- 容器注册表的
docker-scout-readonly-token
令牌。 docker-scout-repository
Event Grid 系统主题。
- 容器注册表的