IBM Cloud Docs
格式化和过滤 Container Registry CLI 输出

格式化和过滤 Container Registry CLI 输出

您可以格式化和过滤 IBM Cloud® Container Registry 命令行界面 (CLI) 输出的支持 IBM Cloud Container Registry 命令。

缺省情况下,CLI 输出会以人类可读的格式显示。 但是,此视图可能会限制您使用输出的能力,尤其是在以编程方式运行命令的情况下。 例如,在 ibmcloud cr image-list CLI 输出中,您可能希望按数字顺序对 Size 字段进行排序,但命令返回的是字符串描述。 container-registry CLI 插件提供了 format 选项,可用于将 Go 模板应用于 CLI 输出。 Go 模板是 Go 编程语言的一项功能,可用于定制 CLI 输出。

可以通过两种不同方式应用 format 选项来变更 CLI 输出:

  • 在 CLI 输出中格式化数据。 例如,将 Created 字段输出从 UNIX® 时间改为标准时间。
  • 过滤 CLI 输出中的数据。 例如,通过使用 Go 模板 if gt 条件,按映像详细信息进行过滤以显示特定映像子集。

可以将 format 选项用于以下 IBM Cloud Container Registry 命令。 单击命令可查看可用字段及其数据类型的列表。

以下代码示例演示了可如何对选项进行格式设置和过滤。

  • 运行以下 ibmcloud cr image-digests 命令,显示摘要中引用的所有未标记的图像。

    ibmcloud cr image-digests --format '{{if not .Tags}}{{.Repository}}@{{.Digest}}{{end}}'
    

    下面的信息是该命令的输出示例

    example-<region>.icr.io/user1/my_first_repo@<digest1>
    example-<region>.icr.io/user1/my_first_repo@<digest2>
    example-<region>.icr.io/user1/my_first_repo@<digest3>
    
  • 运行以下 ibmcloud cr image-list 命令,显示所有大小超过 1 MB 的标记图像的存储库、标记和安全状态。

    ibmcloud cr image-list --format "{{ if gt .Size 1000000 }}{{ .Repository }}:{{ .Tag }} {{ .SecurityStatus.Status }}{{end}}"
    

    以下消息是命令输出的示例:

    example-<region>.icr.io/user1/my_first_repo:latest No Issues
    example-<region>.icr.io/user1/my_second_repo:1 2 Issues
    example-<region>.icr.io/user1/my_second_repo:test1 1 Issue
    example-<region>.icr.io/user1/my_second_repo_2:test2 7 Issues
    

    如果列表图片超时,请参阅 “为什么列出图片时会出现超时?” 以获取帮助。

  • 运行以下 ibmcloud cr image-inspect 命令,显示指定 IBM 公共图像的 IBM 文档托管位置。

    ibmcloud cr image-inspect ibm_public_image --format "{{ .ContainerConfig.Labels }}"
    

    以下消息是命令输出的示例:

    map[doc.url:/docs/images/docker_image_ibm_public_image/ibm_public_image_starter.html]
    
  • 运行以下 ibmcloud cr image-inspect 命令,显示指定映像的暴露端口。

    ibmcloud cr image-inspect ibm_public_image --format "{{ .Config.ExposedPorts }}"
    

    以下消息是命令输出的示例:

    map[9080/tcp: 9443/tcp:]
    

转到模板选项 ibmcloud cr image-digests

查看下表,查找 Go 命令的可用模板选项和数据类型。ibmcloud cr image-digests 命令的可用模板选项和数据类型。

Container Registry 命令中列出图像摘要的可用字段和数据类型
字段 类型 描述
Created 整数(64 位) 该选项显示创建映像的时间,用 UNIX 时间的秒数表示。
Digest 字符串 该选项显示图像的唯一标识符。
ManifestType 字符串 该选项显示图像清单类型。
Repository 字符串 该选项显示图像的存储库。
SecurityStatus 对象 此选项显示图像的漏洞状态。 您可以过滤和格式化以下值:

  • Statusstring
  • IssueCountint
  • 可能的状况在《使用CLI审查漏洞报告》中进行了描述。 ExemptionCountint

使用CLI查看漏洞报告时 ,可能的状态如下所述。

Size 整数(64 位) 该选项以字节为单位显示图像的大小。
Tags 字符串数组 该选项显示图像的标记。

转到模板选项 ibmcloud cr image-list

查看下表,查找 Go 命令的可用模板选项和数据类型。ibmcloud cr image-list 命令的可用模板选项和数据类型。

Container Registry 命令中列出图片的可用字段和数据类型
字段 类型 描述
Created 整数(64 位) 该选项显示创建映像的时间,用 UNIX 时间的秒数表示。
Digest 字符串 该选项显示图像的唯一标识符。
ManifestType 字符串 该选项显示图像清单类型。
Namespace 字符串 该选项显示存储图像的命名空间。
Repository 字符串 该选项显示图像的存储库。
SecurityStatus 对象 此选项显示图像的漏洞状态。 您可以过滤和格式化以下值:

  • Statusstring
  • IssueCountint
  • 可能的状况在《使用CLI审查漏洞报告》中进行了描述。 ExemptionCountint

使用CLI查看漏洞报告时 ,可能的状态如下所述。

Size 整数(64 位) 该选项以字节为单位显示图像的大小。
Tag 字符串 该选项显示图像的标记。

转到模板选项 ibmcloud cr image-inspect

查看下表,查找 Go 命令的可用模板选项和数据类型。ibmcloud cr image-inspect 命令的可用模板选项和数据类型。

Container Registry 命令中可用于检查图像的字段和数据类型
字段 类型 描述
Architecture 字符串 此选项显示用于构建此映像的处理器架构,以及运行映像所需的处理器架构。
Author 字符串 该选项显示图像的作者。
Comment 字符串 该选项显示图像的描述。
Config 对象 此选项显示图像的配置元数据。 更多信息,请参阅 Config 字段详情
Container 字符串 此选项显示创建映像的容器的 ID。
ContainerConfig 对象 该选项显示从该映像启动的容器的默认配置。 更多信息,请参阅 Config 字段详情
Created 字符串 该选项显示创建映像时的 UNIX 时间戳。
DockerVersion 字符串 该选项显示用于构建此镜像的 Docker 版本。
ID 字符串 该选项显示图像的唯一标识符。
Os 字符串 此选项显示用于构建此映像的操作系统系列,以及运行映像所需的操作系统系列。
OsVersion 字符串 此选项显示用于构建此镜像的操作系统版本。
Parent 字符串 此选项显示用于构建此映像的父映像的 ID。
RootFS 对象 此选项显示描述映像根文件系统的元数据。 更多信息,请参阅 RootFS 字段详情
Size 整数(64 位) 该选项以字节为单位显示图像的大小。
VirtualSize 整数(64 位) 该选项以字节为单位显示图像中每个图层的大小总和。

Config 字段详细信息

配置中的可用字段和数据类型
字段 类型 描述
ArgsEscaped 布尔值 Windows 如果命令被转义,该选项将显示_为 true_ (Windows® 专用)。
AttachStderr 布尔值 如果标准错误流已连接到容器,则该选项显示_为 true_,否则显示为 false
AttachStdin 布尔值 如果标准输入流已连接到容器,则该选项显示_为 true_,否则显示为 false
AttachStdout 布尔值 如果标准输出流已连接到容器,则该选项显示_为 true_,否则显示为 false
Cmd 字符串数组 该选项描述了容器启动时传递给容器运行的命令和参数。
Domainname 字符串 该选项显示容器的完全合格域名。
Entrypoint 字符串数组 该选项描述容器启动时运行的命令。
Env 字符串数组 该选项以键值对的形式显示环境变量列表。
ExposedPorts 键/值映射 该选项以 [123:,456:] 的格式显示已暴露的端口列表。
Healthcheck 对象 该选项介绍如何检查容器是否正常工作。 更多信息,请参阅 Healthcheck 字段详情
Hostname 字符串 该选项显示容器的主机名。
Image 字符串 该选项显示操作员传递的图像名称。
Labels 键/值映射 此选项显示以键值对形式添加到图像中的标签列表。
MacAddress 字符串 该选项显示分配给容器的 MAC 地址。
NetworkDisabled 布尔值 如果容器已禁用联网,则此选项显示_为 true_;如果容器已启用联网,则此选项显示为 false
OnBuild 字符串数组 该选项显示在映像 Dockerfile 上定义的 ONBUILD 元数据。
OpenStdin 布尔值 如果标准输入流处于打开状态,则该选项显示_为 true_;如果标准输入流处于关闭状态,则该选项显示为 false
Shell 字符串数组 该选项显示 RUN, CMD, ENTRYPOINT 的外壳形式。
StdinOnce 布尔值 如果标准输入流在连接的客户端断开连接后关闭,则该选项显示_为 true_;如果标准输入流保持打开,则该选项显示为 false
StopSignal 字符串 该选项描述了停止容器时要发送的 UNIX® 停止信号。
StopTimeout 整数 该选项以秒为单位显示停止容器的超时时间。
Tty 布尔值 如果 pseudo-tty 已分配给容器,则该选项显示_为 true_,否则显示为 false
User 字符串 该选项显示在使用映像的容器内运行命令的用户。
Volumes 键/值映射 该选项显示已挂载到容器的卷挂载列表。
WorkingDir 字符串 该选项显示运行指定命令的容器内的工作目录。

Healthcheck 字段详细信息

健康检查中的可用字段和数据类型
字段 类型 描述
Interval 整数(64 位) 该选项以纳秒为单位显示两次健康检查之间的等待时间。
Retries 整数 该选项显示需要连续发生多少次故障才能认为容器工作不正常。
Test 字符串数组

该选项显示如何运行健康检查测试。 以下选项可供选择。

  • {} 继承健康检查。
  • {"NONE"} 禁用健康检查。
  • {"CMD", args...} 直接执行参数。
  • {"CMD-SHELL", command} 使用系统的默认外壳运行命令。
Timeout 整数(64 位) 该选项以纳秒为单位显示健康检查失败前的等待时间。

RootFS 字段详细信息

可用字段和数据类型 RootFS
选项 类型 描述
BaseLayer 字符串 该选项显示图像中基础图层的描述符。
Layers 字符串数组 该选项显示每个图像层的描述符。
Type 字符串 该选项显示文件系统类型。