格式化和过滤 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 命令的可用模板选项和数据类型。
| 字段 | 类型 | 描述 |
|---|---|---|
Created |
整数(64 位) | 该选项显示创建映像的时间,用 UNIX 时间的秒数表示。 |
Digest |
字符串 | 该选项显示图像的唯一标识符。 |
ManifestType |
字符串 | 该选项显示图像清单类型。 |
Repository |
字符串 | 该选项显示图像的存储库。 |
SecurityStatus |
对象 | 此选项显示图像的漏洞状态。 您可以过滤和格式化以下值:
使用CLI查看漏洞报告时 ,可能的状态如下所述。 |
Size |
整数(64 位) | 该选项以字节为单位显示图像的大小。 |
Tags |
字符串数组 | 该选项显示图像的标记。 |
转到模板选项 ibmcloud cr image-list
查看下表,查找 Go 命令的可用模板选项和数据类型。ibmcloud cr image-list 命令的可用模板选项和数据类型。
| 字段 | 类型 | 描述 |
|---|---|---|
Created |
整数(64 位) | 该选项显示创建映像的时间,用 UNIX 时间的秒数表示。 |
Digest |
字符串 | 该选项显示图像的唯一标识符。 |
ManifestType |
字符串 | 该选项显示图像清单类型。 |
Namespace |
字符串 | 该选项显示存储图像的命名空间。 |
Repository |
字符串 | 该选项显示图像的存储库。 |
SecurityStatus |
对象 | 此选项显示图像的漏洞状态。 您可以过滤和格式化以下值:
使用CLI查看漏洞报告时 ,可能的状态如下所述。 |
Size |
整数(64 位) | 该选项以字节为单位显示图像的大小。 |
Tag |
字符串 | 该选项显示图像的标记。 |
转到模板选项 ibmcloud cr image-inspect
查看下表,查找 Go 命令的可用模板选项和数据类型。ibmcloud cr image-inspect 命令的可用模板选项和数据类型。
| 字段 | 类型 | 描述 |
|---|---|---|
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 |
字符串数组 |
该选项显示如何运行健康检查测试。 以下选项可供选择。
|
Timeout |
整数(64 位) | 该选项以纳秒为单位显示健康检查失败前的等待时间。 |
RootFS 字段详细信息
| 选项 | 类型 | 描述 |
|---|---|---|
BaseLayer |
字符串 | 该选项显示图像中基础图层的描述符。 |
Layers |
字符串数组 | 该选项显示每个图像层的描述符。 |
Type |
字符串 | 该选项显示文件系统类型。 |