简介
在本次实验中,你将学习如何为你的容器镜像仓库启用 Docker Scout。Docker Scout 能为你的镜像提供有价值的安全洞察,帮助你识别漏洞和供应链风险。
你将探索不同的启用 Docker Scout 的方法,包括为特定仓库启用、为组织内的所有仓库启用、为符合过滤器条件的仓库启用,以及为来自特定镜像仓库(registry)的仓库启用。这些实践练习将展示 docker scout repo enable
命令的灵活性和强大功能。
💡 本教程由 AI 辅助翻译自英文原版。如需查看原文,您可以 切换至英文原版
在本次实验中,你将学习如何为你的容器镜像仓库启用 Docker Scout。Docker Scout 能为你的镜像提供有价值的安全洞察,帮助你识别漏洞和供应链风险。
你将探索不同的启用 Docker Scout 的方法,包括为特定仓库启用、为组织内的所有仓库启用、为符合过滤器条件的仓库启用,以及为来自特定镜像仓库(registry)的仓库启用。这些实践练习将展示 docker scout repo enable
命令的灵活性和强大功能。
在这一步中,你将学习如何为特定仓库启用 Docker Scout。Docker Scout 能帮助你了解容器镜像的安全状况。通过为仓库启用 Docker Scout,你可以深入了解镜像的漏洞、供应链风险和其他安全问题。
首先,让我们检查你是否已安装并运行 Docker。你可以通过运行以下命令来检查:
docker version
你应该会看到显示 Docker 版本信息的输出。如果你看到错误信息,则意味着 Docker 未安装或未运行。LabEx 环境已经安装了 Docker,因此这个命令应该可以正常工作。
现在,让我们拉取一个将在这一步使用的示例镜像。我们将使用 Docker Hub 上的 hello-world
镜像。
docker pull hello-world
这个命令会将 hello-world
镜像下载到你的本地机器。你应该会看到指示下载进度和完成情况的输出。
要为特定仓库启用 Docker Scout,你可以使用 docker scout repo enable
命令。基本语法如下:
docker scout repo enable <repository>
将 <repository>
替换为你要为其启用 Docker Scout 的仓库名称。在这种情况下,我们将为 hello-world
镜像启用它。
docker scout repo enable docker.io/library/hello-world
运行此命令后,你应该会看到确认已为指定仓库启用 Docker Scout 的输出。此命令会将该仓库注册到 Docker Scout,使其能够分析镜像的安全漏洞和其他问题。
在这一步中,你将学习如何为特定组织内的所有仓库启用 Docker Scout。当你想对像 Docker Hub 这样的镜像仓库(registry)中由单个组织管理的所有镜像进行安全洞察时,这非常有用。
要为组织内的所有仓库启用 Docker Scout,你可以使用带有 --org
标志的 docker scout repo enable
命令。基本语法如下:
docker scout repo enable --org <organization>
将 <organization>
替换为你要为其启用 Docker Scout 的组织名称。
注意: 在本次实验环境中,由于我们没有配置真实的 Docker Hub 组织,所以将使用一个占位组织名称。在实际场景中,你需要将 your-organization-name
替换为你实际的 Docker Hub 组织名称。
为了便于演示,我们使用 my-docker-org
作为占位组织名称。
docker scout repo enable --org my-docker-org
运行此命令后,你应该会看到输出,表明已为指定组织内的所有仓库启用了 Docker Scout。此操作会告知 Docker Scout 对推送到该组织下仓库的所有镜像进行监控和分析。
要验证该组织是否已被添加到监控列表中,你可以使用 docker scout repo ls
命令列出已启用的仓库和组织。
docker scout repo ls
你应该会在输出中看到 my-docker-org
,这表明 Docker Scout 现在已配置为监控该组织内的仓库。
在这一步中,你将学习如何为符合特定筛选条件的仓库启用 Docker Scout。这使你能够根据仓库名称的模式,有选择地为部分仓库启用监控。
要为符合筛选条件的仓库启用 Docker Scout,你可以使用带有 --filter
标志的 docker scout repo enable
命令。基本语法如下:
docker scout repo enable --filter <filter>
将 <filter>
替换为你想要匹配的模式。筛选条件可以使用通配符 (*
) 来匹配多个字符。
在这个示例中,假设我们的占位组织 my-docker-org
中有几个以 web-
开头的仓库。我们希望为所有这些仓库启用 Docker Scout。
docker scout repo enable --org my-docker-org --filter "web-*"
这个命令将为 my-docker-org
组织内名称以 web-
开头的任何仓库启用 Docker Scout。
要查看 Docker Scout 正在监控的仓库和筛选条件,你可以使用 docker scout repo ls
命令。
docker scout repo ls
现在,你应该会在输出中看到筛选条件 my-docker-org/web-*
,以及我们在上一步中为其启用监控的组织 my-docker-org
。这表明 Docker Scout 已配置为监控指定组织内符合此模式的仓库。
在这一步中,你将学习如何为位于 Docker Hub 之外的特定容器镜像仓库(registry)中的仓库启用 Docker Scout。当你使用私有镜像仓库或其他公共镜像仓库时,这一点很重要。
要为特定镜像仓库(registry)中的仓库启用 Docker Scout,你需要在仓库路径中包含镜像仓库(registry)的名称。基本语法如下:
docker scout repo enable <registry>/<repository>
将 <registry>
替换为容器镜像仓库(registry)的地址,将 <repository>
替换为该镜像仓库(registry)内的仓库名称。
在这个示例中,假设在位于 myregistry.example.com
的一个假设镜像仓库(registry)中有一个名为 my-app
的仓库。
首先,让我们从另一个镜像仓库(registry)拉取一个示例镜像来模拟这种情况。我们将使用来自 registry.hub.docker.com
(与 docker.io
相同,但我们将使用完整名称来演示如何指定镜像仓库(registry))的 alpine
镜像。
docker pull registry.hub.docker.com/library/alpine
此命令从指定的镜像仓库(registry)拉取 alpine
镜像。
现在,让我们为这个镜像启用 Docker Scout,并明确指定镜像仓库(registry)。
docker scout repo enable registry.hub.docker.com/library/alpine
运行此命令后,你应该会看到输出,确认已为指定镜像仓库(registry)中的指定仓库启用了 Docker Scout。
要验证是否已将特定镜像仓库(registry)中的仓库添加到监控列表中,你可以使用 docker scout repo ls
命令列出已启用的仓库和组织。
docker scout repo ls
你应该会在输出中看到 registry.hub.docker.com/library/alpine
,这表明 Docker Scout 现在已配置为监控指定镜像仓库(registry)中的这个仓库。
在本次实验中,你学习了如何使用 docker scout repo enable
命令为你的仓库启用 Docker Scout。你首先使用 docker scout repo enable <repository>
语法为特定仓库启用了 Docker Scout,并以 hello-world
镜像为例进行了演示。这个过程会将仓库注册到 Docker Scout 以进行安全分析。
你还探索了如何将此功能扩展到多个仓库,涵盖了为组织内的所有仓库、符合特定筛选条件的仓库以及位于特定镜像仓库(registry)中的仓库启用 Docker Scout 等场景。这些方法能够让你对不同配置的仓库进行高效的安全扫描管理。