简介
在这个实验中,你将学习如何使用 docker scout push
命令将 Docker 镜像推送到 Docker Scout。Docker Scout 是一项帮助你了解并改善容器镜像安全状况的服务。
你将探索如何将镜像推送到默认的 Docker Scout 组织,如何使用 --org
标志将镜像推送到特定组织,如何在生成软件物料清单(SBOMs)的同时推送镜像,以及如何对推送操作进行预演,以便在不实际推送镜像的情况下了解会发生什么。
💡 本教程由 AI 辅助翻译自英文原版。如需查看原文,您可以 切换至英文原版
在这个实验中,你将学习如何使用 docker scout push
命令将 Docker 镜像推送到 Docker Scout。Docker Scout 是一项帮助你了解并改善容器镜像安全状况的服务。
你将探索如何将镜像推送到默认的 Docker Scout 组织,如何使用 --org
标志将镜像推送到特定组织,如何在生成软件物料清单(SBOMs)的同时推送镜像,以及如何对推送操作进行预演,以便在不实际推送镜像的情况下了解会发生什么。
在这一步中,你将学习如何将 Docker 镜像推送到 Docker Scout。Docker Scout 是一项帮助你了解并改善容器镜像安全状况的服务。在推送镜像之前,你需要在本地构建或拉取一个 Docker 镜像。
首先,让我们拉取一个将用于此步骤的示例镜像。我们将使用 Docker Hub 上的 hello-world
镜像。
docker pull hello-world
你应该会看到表明镜像正在被拉取和下载的输出。
Using default tag: latest
latest: Pulling from library/hello-world
...
Status: Downloaded newer image for hello-world:latest
docker.io/library/hello-world:latest
现在我们已经有了这个镜像,就可以将其推送到 Docker Scout 了。为此,我们使用 docker scout push
命令,后面跟上镜像名称和标签。
docker scout push hello-world:latest
你应该会看到类似这样的输出,表明镜像正在被推送到 Docker Scout 并进行分析。
Analyzing image hello-world:latest...
...
Image hello-world:latest pushed to Docker Scout.
此命令将 hello-world:latest
镜像推送到你默认的 Docker Scout 组织。然后,Docker Scout 将分析该镜像是否存在漏洞和其他安全问题。
在这一步中,你将学习如何将 Docker 镜像推送到 Docker Scout 中的特定组织。如果你隶属于多个组织,或者想在 Docker Scout 中按照不同的组织架构对镜像进行分类,这将非常有用。
要将镜像推送到特定组织,你可以使用 --org
标志,后面跟上组织名称。让我们再次使用 hello-world:latest
镜像,并将其推送到一个名为 my-org
的假设组织。注意: 如果你有实际要使用的组织名称,请将 my-org
替换为该名称。在本实验中,我们将以 my-org
为例。
docker scout push hello-world:latest --org my-org
你应该会看到与上一步类似的输出,但这次会表明镜像正在被推送到指定的组织。
Analyzing image hello-world:latest...
...
Image hello-world:latest pushed to Docker Scout organization my-org.
此命令告知 Docker Scout 将 hello-world:latest
镜像与 my-org
组织关联起来。这有助于在特定团队或项目的上下文中管理和查看镜像。
在这一步中,你将学习如何将 Docker 镜像推送到 Docker Scout 并同时为该镜像生成软件物料清单 (Software Bill of Materials, SBOM)。SBOM 是构成软件组件的成分的正式列表,是了解软件安全性和许可情况的重要工具。
要在推送镜像时生成 SBOM,你可以在 docker scout push
命令中使用 --sbom
标志。让我们再次使用 hello-world:latest
镜像,并在推送时为其生成 SBOM。
docker scout push hello-world:latest --sbom
你应该会看到表明镜像正在被分析,并且 SBOM 正在生成并随镜像一起推送的输出。
Analyzing image hello-world:latest...
Generating SBOM for hello-world:latest...
...
Image hello-world:latest pushed to Docker Scout with SBOM.
--sbom
标志指示 Docker Scout 在推送过程中为镜像创建 SBOM。然后,这个 SBOM 将与 Docker Scout 中的镜像关联起来,提供有关镜像内组件的详细信息。
在这一步中,你将学习在将 Docker 镜像推送到 Docker Scout 时如何进行“预演(dry run)”。预演可以让你了解如果推送镜像会发生什么,但实际上并不会执行推送操作。这对于测试命令并确保其配置正确,然后再进行实际推送非常有用。
要进行预演,你可以在 docker scout push
命令中使用 --dry-run
标志。让我们再次使用 hello-world:latest
镜像,并对推送操作进行预演。
docker scout push hello-world:latest --dry-run
你应该会看到表明命令正在模拟推送操作的输出。它会显示将要执行的步骤,例如分析镜像以及可能生成 SBOM,但实际上不会将镜像上传到 Docker Scout。
Analyzing image hello-world:latest...
Dry run: Image hello-world:latest would be pushed to Docker Scout.
--dry-run
标志是一种安全的方式,可用于验证你的 docker scout push
命令及其选项,而不会影响你的 Docker Scout 仓库。
在本次实验中,你学习了如何使用 docker scout push
命令将 Docker 镜像推送到 Docker Scout 进行安全分析。你首先拉取了一个示例镜像,然后成功将其推送到默认的 Docker Scout 组织。
此外,你还探索了如何使用 --org
标志将镜像推送到 Docker Scout 中的特定组织,展示了该命令在跨不同组织结构管理镜像方面的灵活性。