将 Docker Scout 与环境集成

您可以将 Docker Scout 与您的运行时环境集成,从而获取正在运行的工作负载的洞察信息。 这为您提供了已部署制品的安全状态的实时视图。

Docker Scout 允许您定义多个环境,并将镜像分配到不同的环境中。这使您能够全面了解软件供应链,并查看和比较各环境之间的差异,例如预发环境与生产环境之间的差异。

您可以自行定义和命名您的环境。您可以使用对您有意义的模式,并与您交付应用程序的方式相匹配。

分配到环境

每个环境包含对多个镜像的引用。这些引用代表在该特定环境中当前正在运行的容器。

例如,假设您在生产环境中运行 myorg/webapp:3.1,您可以将该标签分配给您的 production 环境。您可能在预发布环境中运行同一镜像的不同版本,此时可将该版本的镜像分配给 staging 环境。

要向 Docker Scout 添加环境,您可以:

  • 使用 docker scout env <environment> <image> CLI 命令手动将镜像记录到环境中
  • 启用运行时集成,以自动检测您环境中的镜像。

Docker Scout 支持以下运行时集成:

注意

仅组织所有者可以创建新环境并设置集成。 此外,Docker Scout 仅在镜像 已分析(无论是手动分析还是通过 镜像仓库集成)的情况下,才将其分配给某个环境。

列出环境

要查看某个组织的所有可用环境,您可以使用 docker scout env 命令。

$ docker scout env

默认情况下,此命令会打印您个人 Docker 组织下的所有环境。 若要列出您所属的其他组织的环境,请使用 -o--org 标志(注:原内容中的 --org 应为笔误,通常为 -o--org)。

$ docker scout env --org <org>

您可以使用 docker scout config 命令来更改默认组织。这将更改所有 docker scout 命令的默认组织,而不仅限于 env

$ docker scout config organization <org>

在不同环境之间进行比较

将镜像分配给环境,可让您对不同环境之间及环境内部进行对比。这对于 GitHub 拉取请求(pull requests)等场景非常有用,例如将 PR 中代码构建出的镜像与暂存环境或生产环境中的对应镜像进行比较。

您还可以使用 --to-env 标志与流进行比较,该标志用于 docker scout compare CLI 命令:

$ docker scout compare --to-env production myorg/webapp:latest

查看环境的镜像

要查看某个环境的镜像:

  1. 前往 Docker Scout 仪表板中的 镜像页面
  2. 打开 环境 下拉菜单。
  3. 请选择您想要查看的环境。

该列表显示所有已分配至所选环境的镜像。如果您在某个环境中部署了同一镜像的多个版本,那么该镜像的所有版本都将显示在列表中。

或者,您可以使用 docker scout env 命令在终端中查看镜像。

$ docker scout env production
docker/scout-demo-service:main@sha256:ef08dca54c4f371e7ea090914f503982e890ec81d22fd29aa3b012351a44e1bc

镜像标签不匹配

当您在镜像选项卡中选择了环境后,列表中的标签表示用于部署该镜像的标签。标签是可变的,即您可以更改标签所指向的镜像摘要。如果Docker Scout检测到某个标签指向过期的摘要,则会在镜像名称旁显示警告图标。