镜像安全洞察
使用 Docker Hub 的镜像安全洞察功能,增强您的 Docker 镜像安全性。Docker Hub 支持两种分析方式:即时静态漏洞扫描,以及通过 Docker Scout 实现的持续更新的镜像分析。
Docker Scout 镜像分析
启用 Docker Scout 镜像分析后,Docker Scout 将自动分析您 Docker Hub 仓库中的镜像。
镜像分析提取软件物料清单(SBOM)及其他镜像元数据,并依据安全公告中的漏洞数据对其进行评估。
以下部分介绍如何为 Docker Hub 仓库启用或禁用 Docker Scout 镜像分析功能。有关镜像分析的更多详情,请参阅 Docker Scout。
开启 Docker Scout 镜像分析功能
登录到 Docker Hub。
选择 仓库。
您的仓库列表已显示。
选择一个镜像仓库。
该仓库的常规页面已显示。
选择 设置 选项卡。
在 镜像安全洞察设置 下,选择 Docker Scout 镜像分析。
选择 保存。
关闭 Docker Scout 镜像分析
登录到 Docker Hub。
选择 仓库。
您的仓库列表已显示。
选择一个镜像仓库。
该仓库的常规页面已显示。
选择 设置 选项卡。
在 镜像安全洞察设置 中,选择 无。
选择 保存。
静态漏洞扫描
注意
Docker Hub 静态漏洞扫描功能需要 Docker Pro、Team 或 Business 订阅。
启用静态扫描后,将镜像推送到 Docker Hub 仓库时,Docker Hub 会自动扫描该镜像以识别漏洞。 扫描结果展示了您镜像在扫描执行时的安全状态。
扫描结果包括:
- 漏洞的来源,例如操作系统(OS)软件包和库
- 它首次引入的版本
- 推荐的修复版本(如可用),用于修复已发现的安全漏洞。
Docker Hub 中静态扫描的变更
自2023年2月27日起,Docker变更了支持Docker Hub静态扫描功能的技术。该静态扫描现由Docker原生提供支持,而非第三方技术。
由于此次变更,扫描现在能够以前所未有的更精细粒度检测漏洞。相应地,漏洞报告中显示的漏洞数量可能更多。如果您在2023年2月27日之前使用过漏洞扫描功能,您可能会发现新的漏洞报告中列出的漏洞数量有所增加,这是由于分析更加全面所致。
无需您采取任何操作。扫描将继续正常运行,不会中断,且价格保持不变。历史数据仍可正常使用。
启用静态漏洞扫描
仓库所有者和管理员可以为仓库启用静态漏洞扫描功能。 如果您是团队成员或已订阅商业版,请确保您希望启用扫描功能的仓库属于该团队或商业版订阅范围。
当仓库扫描功能启用时,任何具有推送权限的用户都可以通过向 Docker Hub 推送镜像来触发扫描。
要启用静态漏洞扫描:
注意
静态漏洞扫描支持扫描架构为 AMD64、操作系统为 Linux 且大小小于 10 GB 的镜像。
登录到 Docker Hub。
选择 仓库。
您的仓库列表已显示。
选择一个镜像仓库。
该仓库的常规页面已显示。
选择 设置 选项卡。
在 镜像安全洞察设置 下,选择 静态扫描。
选择 保存。
扫描镜像
要扫描镜像的漏洞,请将该镜像推送到 Docker Hub,并推送到您已启用扫描功能的仓库中。
查看漏洞报告
要查看漏洞报告:
登录到 Docker Hub。
选择 仓库。
您的仓库列表已显示。
选择一个镜像仓库。
仓库的 常规 页面出现。 漏洞报告可能需要几分钟时间才会出现在您的仓库中。

选择 标签 选项卡,然后选择 摘要,再选择 漏洞 以查看详细的扫描报告。
扫描报告显示扫描识别出的漏洞,按严重程度排序,严重程度最高的列在顶部。它显示包含漏洞的软件包的相关信息、引入该漏洞的版本,以及该漏洞是否在后续版本中已修复。

有关此视图的更多信息,请参阅 镜像详情视图。
检查漏洞
漏洞报告根据严重程度对漏洞进行排序。它显示了包含漏洞的软件包的相关信息、引入该漏洞的版本,以及该漏洞是否在后续版本中已修复。
漏洞扫描报告还允许开发团队和安全负责人比较各个标签间的漏洞数量,以查看漏洞数量随时间是减少还是增加。
修复漏洞
一旦漏洞列表被确定,您可以采取一些措施来修复这些漏洞。例如,您可以:
- 在 Dockerfile 中指定更新后的基础镜像,检查应用程序级的依赖项,重新构建 Docker 镜像,然后将新镜像推送到 Docker Hub。
- 重新构建 Docker 镜像,对操作系统软件包运行更新命令,并将新版本的镜像推送到 Docker Hub。
- 编辑 Dockerfile 以手动移除或更新包含漏洞的特定库,重新构建镜像,并将新镜像推送到 Docker Hub
Docker Scout 可以为您提供具体且结合上下文的补救步骤,以改善镜像安全性。欲了解更多信息,请参阅 Docker Scout。
关闭静态漏洞扫描
仓库所有者和管理员可以禁用仓库的静态漏洞扫描。 要禁用扫描:
登录到 Docker Hub。
选择 仓库。
您的仓库列表已显示。
选择一个镜像仓库。
该仓库的常规页面已显示。
选择 设置 选项卡。
在 镜像安全洞察设置 中,选择 无。
选择 保存。