使用 Docker Scout 进行修复

测试功能

Docker Scout 的修复功能目前处于 测试版(Beta)

Docker Scout 通过根据策略评估结果提供改进建议,帮助您修复供应链或安全问题。这些建议是您可以采取的改进措施,有助于提升策略合规性,或为镜像添加元数据,从而使 Docker Scout 能够提供更准确的评估结果和改进建议。

Docker Scout 为以下策略类型的默认策略提供修复建议:

注意

自定义策略不支持引导式修复。

对于违反策略的镜像,建议主要聚焦于解决合规性问题并修复违规项。对于Docker Scout无法确定其合规性的镜像,建议将引导您满足相关先决条件,以确保Docker Scout能够成功评估该策略。

查看推荐

建议会显示在 Docker Scout 仪表板的策略详情页面中。要进入此页面,请执行以下操作:

  1. 请前往 Docker Scout 仪表板中的 策略页面
  2. 从列表中选择一项策略。

策略详情页面根据策略状态将评估结果分为两个不同的标签页:

  • 违规行为
  • 合规性未知

违规项 选项卡列出了不遵守所选策略的镜像。 合规性未知 选项卡列出了 Docker Scout 无法确定其合规性状态的镜像。当合规性未知时,Docker Scout 需要更多关于该镜像的信息。

要查看某个镜像的推荐操作,请将鼠标悬停在列表中的任意一个镜像上,以显示查看修复方案按钮。

Remediation for policy violations

选择 查看修复项 按钮,以打开修复侧边面板,其中包含针对您的镜像的建议操作。

如果有多个建议可用,则主要建议将显示为推荐修复方案。其他建议则列在快速修复下。快速修复通常是一些提供临时解决方案的操作。

侧边栏中还可能包含一个或多个与可用建议相关的帮助部分。

更新基础镜像的补救措施

最新基础镜像策略会检查您使用的基础镜像是否为最新版本。修复侧边面板中显示的建议操作取决于Docker Scout对您的镜像掌握的信息量。掌握的信息越多,建议就越精准。

以下场景根据可用的镜像信息,概述了不同的推荐方案。

无来源证明

为了使 Docker Scout 能够评估此策略,您必须向镜像中添加 来源证明(provenance) 证书。如果您的镜像没有来源证明证书,则无法确定其是否符合合规要求。

可用的来源证明声明

添加来源证明后,Docker Scout 能够正确检测您正在使用的镜像基础版本。系统会将证明中记载的版本与对应标签的当前版本进行交叉核对,以判断其是否为最新版本。

如果存在策略违规,推荐的操作将展示如何将基础镜像版本更新至最新版本,同时将基础镜像版本锁定到特定的摘要值。有关详细信息,请参阅 锁定基础镜像版本

GitHub 集成已启用

如果您在 GitHub 上托管了镜像的源代码,您可以启用 GitHub 集成。该集成可使 Docker Scout 提供更加实用的修复建议,并允许您直接从 Docker Scout 仪表板发起违规项的修复操作。

启用 GitHub 集成后,您可以使用修复侧边栏,在镜像的 GitHub 代码仓库中发起拉取请求(Pull Request)。该拉取请求会自动将您的 Dockerfile 中的基础镜像版本更新为最新版本。

此自动化修复措施将您的基础镜像固定至特定摘要值,同时帮助您在新版本发布时保持更新。将基础镜像固定至摘要值对于可重现性至关重要,并有助于防止不需要的变更进入您的供应链。

有关基础镜像固定版本的更多信息,请参见 固定基础镜像版本

供应链声明修复

默认的 供应链声明(Supply Chain Attestations) 策略要求镜像必须包含完整的来源证明和SBOM(软件物料清单)声明。如果您的镜像缺少声明,或某项声明所含信息不足,则视为违反该策略。

修复侧边面板中提供的建议可帮助您了解需采取哪些操作来解决相关问题。例如,如果您的镜像具有来源证明(provenance)声明,但该声明未包含足够的信息,则建议您使用 mode=max 重新构建镜像以生成来源证明。