使用 Docker Scout 进行修复
Beta 功能
Docker Scout 的修复功能目前处于 Beta 阶段。
Docker Scout 通过根据策略评估结果提供建议来帮助您修复供应链或安全问题。建议是您可以采取的改进策略合规性或向镜像添加元数据以使 Docker Scout 能够提供更好评估结果和建议的建议操作。
Docker Scout 为以下策略类型的默认策略提供修复建议
注意
自定义策略不支持引导式修复。
对于违反策略的镜像,建议侧重于解决合规性问题和修复违规行为。对于 Docker Scout 无法确定合规性的镜像,建议会向您展示如何满足确保 Docker Scout 可以成功评估策略的先决条件。
查看建议
建议出现在 Docker Scout 仪表盘的策略详情页面上。要访问此页面:
- 在 Docker Scout 仪表盘中转到 策略页面。
- 在列表中选择一个策略。
策略详情页面根据策略状态将评估结果分成两个不同的选项卡
- 违规
- 合规性未知
“**违规**”选项卡列出不符合所选策略的镜像。“**合规性未知**”选项卡列出 Docker Scout 无法确定其合规性状态的镜像。如果合规性未知,Docker Scout 需要更多关于镜像的信息。
要查看镜像的建议操作,请将鼠标悬停在列表中的一个镜像上以显示“**查看修复**”按钮。


选择“**查看修复**”按钮将打开修复侧面板,其中包含针对您的镜像的建议操作。
如果有多个建议可用,则主要建议显示为“**推荐修复**”。其他建议列为“**快速修复**”。快速修复通常是提供临时解决方案的操作。
侧面板还可能包含一个或多个与可用建议相关的帮助部分。
最新基础镜像修复
“**最新的基础镜像**”策略检查您使用的基础镜像是否为最新版本。修复侧面板中显示的建议操作取决于 Docker Scout 拥有多少关于您的镜像的信息。可用的信息越多,建议就越好。
以下方案概述了根据可用的镜像信息而不同的建议。
无来源证明
为了使 Docker Scout 能够评估此策略,您必须向您的镜像添加 来源证明。如果您的镜像没有来源证明,则合规性无法确定。
来源证明可用
添加来源证明后,Docker Scout 可以正确检测您正在使用的基础镜像版本。将证明中找到的版本与相应标签的当前版本交叉引用以确定它是否为最新版本。
如果存在策略违规,则建议的操作将显示如何将您的基础镜像版本更新为最新版本,同时也将基础镜像版本固定到特定摘要。有关更多信息,请参阅 固定基础镜像版本。
已启用 GitHub 集成
如果您的镜像源代码托管在 GitHub 上,您可以启用GitHub 集成。此集成使 Docker Scout 能够提供更有用的修复建议,并允许您直接从 Docker Scout 仪表板启动违规修复。
启用 GitHub 集成后,您可以使用修复侧边栏在镜像的 GitHub 存储库中发起拉取请求。拉取请求会自动将 Dockerfile 中的基础镜像版本更新为最新版本。
此自动化修复将您的基础镜像固定到特定的摘要,同时帮助您在有新版本可用时保持更新。将基础镜像固定到摘要对于可重复性非常重要,并有助于避免不需要的更改进入您的供应链。
有关基础镜像固定的更多信息,请参阅固定基础镜像版本。
供应链证明修复
默认的供应链声明策略要求镜像具有完整的来源和 SBOM 声明。如果您的镜像缺少声明,或者声明中信息不足,则会违反策略。
修复侧边栏中提供的建议可帮助您指导需要采取哪些措施来解决问题。例如,如果您的镜像具有来源声明,但声明中信息不足,则建议您使用mode=max
来源重新构建镜像。