镜像详情视图

镜像详情视图显示Docker Scout分析的细分。您可以从Docker Scout仪表盘、Docker Desktop **镜像**视图以及Docker Hub上的镜像标签页面访问镜像视图。镜像详情显示镜像层次结构(基础镜像)、镜像层、包和漏洞的细分。

The image details view in Docker Desktop

Docker Desktop首先在本地分析镜像,在那里它会生成软件物料清单 (SBOM)。Docker Desktop、Docker Hub以及Docker Scout仪表盘和CLI都使用包URL (PURL)链接在这个SBOM中查询Docker Scout的咨询数据库中匹配的常见漏洞和披露 (CVE)。

镜像层次结构

您检查的镜像可能在**镜像层次结构**下表示一个或多个基础镜像。这意味着镜像的作者在构建镜像时使用了其他镜像作为起点。通常,这些基础镜像要么是操作系统镜像,例如Debian、Ubuntu和Alpine,要么是编程语言镜像,例如PHP、Python和Java。

选择链中的每个镜像都可以查看哪些层源自每个基础镜像。选择**全部**行将选择所有层和基础镜像。

一个或多个基础镜像可能提供更新,其中可能包括更新的安全补丁,这些补丁可以从您的镜像中删除漏洞。任何具有可用更新的基础镜像都会在**镜像层次结构**的右侧注明。

Docker镜像由层组成。镜像层从上到下列出,最旧的层在顶部,最新的层在底部。通常,列表顶部的层源自基础镜像,而列表底部的层由镜像作者添加,通常使用Dockerfile中的命令。选择**镜像层次结构**下的基础镜像将突出显示哪些层源自基础镜像。

选择单个或多个层将过滤右侧的包和漏洞,以显示所选层添加的内容。

漏洞

**漏洞**选项卡显示在镜像中检测到的漏洞和利用程序列表。该列表按包分组,并按严重性排序。

您可以通过展开列表项来查找有关漏洞或利用程序的更多信息,包括是否有可用的修复程序。

修复建议

当您在Docker Desktop或Docker Hub中检查镜像时,Docker Scout可以提供有关如何提高该镜像安全的建议。

Docker Desktop中的建议

要在Docker Desktop中查看镜像的安全建议

  1. 转到Docker Desktop中的**镜像**视图。
  2. 选择您要查看建议的镜像标签。
  3. 在顶部附近,选择**推荐修复**下拉按钮。

下拉菜单允许您选择是否要查看当前镜像或用于构建它的任何基础镜像的建议

如果您正在查看的镜像没有关联的基础镜像,则下拉菜单仅显示查看当前镜像建议的选项。

Docker Hub中的建议

要在Docker Hub中查看镜像的安全建议

  1. 转到您已激活Docker Scout镜像分析的镜像的存储库页面。

  2. 打开**标签**选项卡。

  3. 选择您要查看建议的标签。

  4. 选择**查看推荐的基础镜像修复**按钮。

    这将打开一个窗口,该窗口为您提供建议,您可以通过使用更好的基础镜像来提高镜像的安全性。有关更多详细信息,请参阅基础镜像的建议

当前镜像的建议

当前镜像视图的建议可帮助您确定您正在使用的镜像版本是否已过期。如果您正在使用的标签引用的是旧的摘要,则该视图会显示一个建议,即通过提取最新版本来更新标签。

选择**拉取新镜像**按钮以获取更新的版本。选中复选框可在拉取最新版本后删除旧版本。

基础镜像的建议

基础镜像建议视图包含两个选项卡,用于在不同类型的建议之间切换

  • 刷新基础镜像
  • 更改基础镜像

只有当您是正在检查的镜像的作者时,这些基础镜像建议才可操作。这是因为更改镜像的基础镜像需要您更新Dockerfile并重新构建镜像。

刷新基础镜像

此选项卡显示所选基础镜像标签是否是最新可用版本,或者是否已过期。

如果用于构建当前镜像的基础镜像标签不是最新的,则这两个版本之间的差异将显示在此窗口中。差异信息包括

  • 推荐(较新)版本的标签名称和别名
  • 当前基础镜像版本的年龄
  • 最新可用版本的年龄
  • 影响每个版本的 CVE 数量

在窗口底部,您还会收到可以使用最新版本重新构建镜像的命令片段。

更改基础镜像

此选项卡显示您可以使用的不同替代标签,并概述每个标签版本的优缺点。选择基础镜像将显示该标签的推荐选项。

例如,如果您正在检查的镜像使用旧版本的debian作为基础镜像,它将显示对要使用的更新且更安全的debian版本的建议。通过提供多个替代方案供选择,您可以自行查看选项之间的比较,并决定使用哪个选项。

Base image recommendations

选择标签建议以查看建议的更多详细信息。它显示了标签的优缺点,为什么它是推荐的,以及如何更新您的 Dockerfile 以使用此版本。