格式化并过滤 Container Registry 命令行界面输出
您可以格式化并过滤 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
命令,显示所有大小超过1MB的已标记图片的存储库、标签和安全状态。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
查看下表,了解 ibmcloud cr image-digests
命令的可用Go模板选项和数据类型。
字段 | Type | 描述 |
---|---|---|
Created |
整数(64 位) | 显示图像创建的时间,以UNIX时间秒数表示。 |
Digest |
字符串 | 显示映像的唯一标识。 |
ManifestType |
字符串 | 显示映像清单类型。 |
Repository |
字符串 | 显示映像的存储库。 |
SecurityStatus |
对象 | 显示映像的漏洞状态。 您可以过滤和格式化以下值:
使用CLI查看漏洞报告时 ,可能的状态如下所述。 |
Size |
整数(64 位) | 显示映像的大小(以字节为单位)。 |
Tags |
字符串数组 | 显示图片的标签。 |
转到模板选项 ibmcloud cr image-list
查看下表,了解 ibmcloud cr image-list
命令的可用Go模板选项和数据类型。
字段 | Type | 描述 |
---|---|---|
Created |
整数(64 位) | 显示图像创建的时间,以UNIX时间秒数表示。 |
Digest |
字符串 | 显示映像的唯一标识。 |
ManifestType |
字符串 | 显示映像清单类型。 |
Namespace |
字符串 | 显示存储映像的名称空间。 |
Repository |
字符串 | 显示映像的存储库。 |
SecurityStatus |
对象 | 显示映像的漏洞状态。 您可以过滤和格式化以下值:
使用CLI查看漏洞报告时 ,可能的状态如下所述。 |
Size |
整数(64 位) | 显示映像的大小(以字节为单位)。 |
Tag |
字符串 | 显示映像的标记。 |
转到模板选项 ibmcloud cr image-inspect
查看下表,了解 ibmcloud cr image-inspect
命令的可用Go模板选项和数据类型。
字段 | Type | 描述 |
---|---|---|
Architecture |
字符串 | 显示用于构建此映像以及运行此映像所需的处理器体系结构。 |
Author |
字符串 | 显示映像的创建者。 |
Comment |
字符串 | 显示映像的描述。 |
Config |
对象 | 显示映像的配置元数据。 更多信息,请参阅 Config 字段详情。 |
Container |
字符串 | 显示已创建映像的容器的标识。 |
ContainerConfig |
对象 | 显示基于此映像启动的容器的缺省配置。 更多信息,请参阅 Config 字段详情。 |
Created |
字符串 | 显示图像创建时的 UNIX 时间戳。 |
DockerVersion |
字符串 | 显示用于构建此映像的 Docker 版本。 |
ID |
字符串 | 显示映像的唯一标识。 |
Os |
字符串 | 显示用于构建此映像以及运行此映像所需的操作系统系列。 |
OsVersion |
字符串 | 显示用于构建此映像的操作系统版本。 |
Parent |
字符串 | 显示用于构建此映像的父映像的标识。 |
RootFS |
对象 | 显示描述镜像根文件系统的元数据。 更多信息,请参阅 RootFS 字段详情。 |
Size |
整数(64 位) | 显示映像的大小(以字节为单位)。 |
VirtualSize |
整数(64 位) | 显示映像中每层大小的总和(以字节为单位)。 |
Config
字段详细信息
字段 | Type | 描述 |
---|---|---|
ArgsEscaped |
布尔值 | Windows 如果命令被转义,则显示_为真_ (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
字段详细信息
字段 | Type | 描述 |
---|---|---|
Interval |
整数(64 位) | 显示两次运行状况检查之间等待的时间(以纳秒为单位)。 |
Retries |
整数 | 显示将容器视为工作不正常所需的连续失败次数。 |
Test |
字符串数组 |
显示如何运行运行状况检查测试。 以下选项可供选择。
|
Timeout |
整数(64 位) | 显示健康检查失败前需要等待的时间(以纳秒为单位)。 |
RootFS
字段详细信息
选项 | Type | 描述 |
---|---|---|
BaseLayer |
字符串 | 显示映像中基本层的描述符。 |
Layers |
字符串数组 | 显示每个映像层的描述符。 |
Type |
字符串 | 显示文件系统的类型。 |