Formateo y filtrado de la salida CLI de Container Registry

Puede formatear y filtrar la salida de la interfaz de comando (CLI) de IBM Cloud® Container Registry para los comandos compatibles de IBM Cloud Container Registry.

De forma predeterminada, la salida de la CLI se muestra en un formato legible para las personas. Sin embargo, esta vista puede limitar su capacidad de utilizar la salida, especialmente si el mandato se ejecuta mediante programación. Por ejemplo, en la salida CLI de ibmcloud cr image-list, es posible que desee ordenar el campo Size en orden numérico, pero el comando devuelve una descripción de cadena. El complemento CLI de container-registry proporciona la opción de formato que puede utilizar para aplicar una plantilla Go a la salida CLI.

Puede modificar la salida de la CLI mediante la aplicación de la opción de formato de dos maneras:

  • Formatee los datos en su salida CLI. Por ejemplo, cambie la salida del campo Created de la hora UNIX® a la hora estándar.
  • Filtre los datos en su salida CLI. Por ejemplo, filtre por detalles de la imagen para mostrar un subconjunto específico de imágenes utilizando la condición Ir a plantilla if gt.

Puede utilizar la opción de formato con los mandatos siguientes de IBM Cloud Container Registry. Pulse el mandato para visualizar una lista de campos disponibles y sus tipos de datos.

Opciones de la plantilla Go para ibmcloud cr image-digests

Revise la siguiente tabla para encontrar las opciones disponibles de la plantilla Go y los tipos de datos para el comando ibmcloud cr image-digests comando.

Campos y tipos de datos disponibles en el comando Container Registry para listar resúmenes de imágenes
Campo Tipo Descripción
Created Entero (64 bits) Esta opción muestra cuándo se creó la imagen, expresado por el número de segundos en tiempo UNIX.
Digest Serie Esta opción muestra el identificador único de una imagen.
ManifestType Serie Esta opción muestra el tipo de manifiesto de la imagen.
Repository Serie Esta opción muestra el repositorio de la imagen.
SecurityStatus Objecto Esta opción muestra el estado de vulnerabilidad de la imagen. Puede filtrar y dar formato a los valores siguientes:

  • Status string
  • IssueCount int
  • ExemptionCount int

Los estados siguientes se describen en Revisión de un informe de vulnerabilidad utilizando la CLI.

Size Entero (64 bits) Esta opción muestra el tamaño de la imagen en bytes.
Tags Matriz de series Esta opción muestra las etiquetas de la imagen.

Ejemplo de comando formato Go para ibmcloud cr image-digests

Para mostrar todas las imágenes no etiquetadas referenciadas por sus compendios, ejecute el siguiente comando ibmcloud cr image-digests.

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

El siguiente mensaje es un ejemplo de la salida del comando

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>

Opciones de la plantilla Go para ibmcloud cr image-list

Revise la siguiente tabla para encontrar las opciones disponibles de la plantilla Go y los tipos de datos para el comando ibmcloud cr image-list comando.

Campos y tipos de datos disponibles en el comando Container Registry para listar imágenes
Campo Tipo Descripción
Created Entero (64 bits) Esta opción muestra cuándo se creó la imagen, expresado por el número de segundos en tiempo UNIX.
Digest Serie Esta opción muestra el identificador único de una imagen.
ManifestType Serie Esta opción muestra el tipo de manifiesto de la imagen.
Namespace Serie Esta opción muestra el espacio de nombres donde se almacena la imagen.
Repository Serie Esta opción muestra el repositorio de la imagen.
SecurityStatus Objecto Esta opción muestra el estado de vulnerabilidad de la imagen. Puede filtrar y dar formato a los valores siguientes:

  • Status string
  • IssueCount int
  • ExemptionCount int

Los estados siguientes se describen en Revisión de un informe de vulnerabilidad utilizando la CLI.

Size Entero (64 bits) Esta opción muestra el tamaño de la imagen en bytes.
Tag Serie Esta opción muestra la etiqueta de la imagen.

Ejemplo de comando formato Go para ibmcloud cr image-list

Para mostrar el repositorio, la etiqueta y el estado de seguridad de todas las imágenes etiquetadas de más de 1 MB, ejecute el siguiente comando ibmcloud cr image-list.

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

El mensaje siguiente es un ejemplo de la salida del mandato:

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

Si se agota el tiempo de espera del comando listado de imágenes, consulte ¿Por qué se agota el tiempo de espera al listar imágenes? para obtener ayuda.

Opciones de la plantilla Go para ibmcloud cr image-inspect

Revise la siguiente tabla para encontrar las opciones disponibles de la plantilla Go y los tipos de datos para el comando ibmcloud cr image-inspect comando.

Campos y tipos de datos disponibles en el comando Container Registry para inspeccionar imágenes
Campo Tipo Descripción
Architecture Serie Esta opción muestra la arquitectura del procesador que se utilizó para crear esta imagen y que es necesaria para ejecutarla.
Author Serie Esta opción muestra el autor de la imagen.
Comment Serie Esta opción muestra la descripción de la imagen.
Config Objecto Esta opción muestra los metadatos de configuración de la imagen. Para obtener más información, consulte Detalles del campo Config.
Container Serie Esta opción muestra el ID del contenedor que creó la imagen.
ContainerConfig Objecto Esta opción muestra la configuración por defecto para los contenedores que se inician desde esta imagen. Para obtener más información, consulte Detalles del campo Config.
Created Serie Esta opción muestra la fecha y hora UNIX en que se creó la imagen.
DockerVersion Serie Esta opción muestra la versión de Docker que se utilizó para crear esta imagen.
ID Serie Esta opción muestra el identificador único de una imagen.
Os Serie Esta opción muestra la familia de sistemas operativos que se utilizó para crear esta imagen y que es necesaria para ejecutarla.
OsVersion Serie Esta opción muestra la versión del sistema operativo que se utilizó para crear esta imagen.
Parent Serie Esta opción muestra el ID de la imagen padre que se utilizó para construir esta imagen.
RootFS Objecto Esta opción muestra los metadatos que describen el sistema de archivos raíz de la imagen. Para obtener más información, consulte Detalles del campo RootFS.
Size Entero (64 bits) Esta opción muestra el tamaño de la imagen en bytes.
VirtualSize Entero (64 bits) Esta opción muestra la suma de los tamaños de cada capa de la imagen en bytes.

Detalles del campo Config

Campos y tipos de datos disponibles en Config
Campo Tipo Descripción
ArgsEscaped Boolean Windows Esta opción muestra true si el comando está escapado (específico de Windows®).
AttachStderr Boolean Esta opción muestra true si el flujo de error estándar está conectado al contenedor y false en caso contrario.
AttachStdin Boolean Esta opción muestra true si el flujo de entrada estándar está conectado al contenedor y false en caso contrario.
AttachStdout Boolean Esta opción muestra true si el flujo de salida estándar está conectado al contenedor y false en caso contrario.
Cmd Matriz de series Esta opción describe los comandos y argumentos que se pasan a un contenedor para que se ejecuten cuando se inicia el contenedor.
Domainname Serie Esta opción muestra el nombre de dominio completo del contenedor.
Entrypoint Matriz de series Esta opción describe el comando que se ejecuta cuando se inicia el contenedor.
Env Matriz de series Esta opción muestra la lista de variables de entorno en forma de pares clave-valor.
ExposedPorts Mapa de valores de claves Esta opción muestra la lista de puertos expuestos en el formato [123:,456:].
Healthcheck Objecto Esta opción describe cómo comprobar que el contenedor funciona correctamente. Para obtener más información, consulte Detalles del campo Healthcheck.
Hostname Serie Esta opción muestra el nombre de host del contenedor.
Image Serie Esta opción muestra el nombre de la imagen que ha pasado el operador.
Labels Mapa de valores de claves Esta opción muestra la lista de etiquetas que se han añadido a la imagen como pares clave-valor.
MacAddress Serie Esta opción muestra la dirección MAC asignada al contenedor.
NetworkDisabled Boolean Esta opción muestra true si la red está deshabilitada para el contenedor y false si la red está habilitada para el contenedor.
OnBuild Matriz de series Esta opción muestra los metadatos ONBUILD que se definieron en la imagen Dockerfile.
OpenStdin Boolean Esta opción muestra verdadero si el flujo de entrada estándar está abierto y falso si está cerrado.
Shell Matriz de series Esta opción muestra la forma de shell de RUN, CMD, ENTRYPOINT.
StdinOnce Boolean Esta opción muestra true si el flujo de entrada estándar se cierra después de que el cliente conectado se desconecte y false si el flujo de entrada estándar permanece abierto.
StopSignal Serie Esta opción describe la señal de parada UNIX® que se enviará cuando se detenga el contenedor.
StopTimeout Entero Esta opción muestra el tiempo de espera en segundos para detener un contenedor.
Tty Boolean Esta opción muestra true si se asigna un pseudo-tty al contenedor y false en caso contrario.
User Serie Esta opción muestra el usuario que ejecuta comandos dentro del contenedor donde se utiliza la imagen.
Volumes Mapa de valores de claves Esta opción muestra la lista de volúmenes montados en un contenedor.
WorkingDir Serie Esta opción muestra el directorio de trabajo que se encuentra dentro del contenedor donde se ejecutan los comandos especificados.

Detalles del campo Healthcheck

Campos y tipos de datos disponibles en Comprobación de estado
Campo Tipo Descripción
Interval Entero (64 bits) Esta opción muestra el tiempo de espera entre dos comprobaciones de estado en nanosegundos.
Retries Entero Esta opción muestra el número de fallos consecutivos que deben producirse para considerar que un contenedor no funciona correctamente.
Test Matriz de series

Esta opción muestra cómo ejecutar la prueba de chequeo. Las siguientes opciones están disponibles.

  • {} hereda la comprobación de estado.
  • {"NONE"} la comprobación de estado está inhabilitada.
  • {"CMD", args...} ejecuta argumentos directamente.
  • {"CMD-SHELL", command} ejecuta el mandato con el shell predeterminado del sistema.
Timeout Entero (64 bits) Esta opción muestra el tiempo de espera, en nanosegundos, antes de que falle la comprobación de estado.

Detalles del campo RootFS

Campos y tipos de datos disponibles en RootFS
Opción Tipo Descripción
BaseLayer Serie Esta opción muestra el descriptor de la capa base de la imagen.
Layers Matriz de series Esta opción muestra los descriptores de cada capa de la imagen.
Type Serie Esta opción muestra el tipo de sistema de archivos.

Ejemplo de comandos formato Go para ibmcloud cr image-inspect

El código siguiente muestra cómo puede utilizar las opciones de formateo y de filtrado.

Ejemplo 1 para ibmcloud cr image-inspect

Para mostrar dónde está alojada la documentación de IBM para una imagen pública especificada de IBM, ejecute el siguiente comando ibmcloud cr image-inspect.

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

El mensaje siguiente es un ejemplo de la salida del mandato:

map[doc.url:/docs/images/docker_image_ibm_public_image/ibm_public_image_starter.html]

Ejemplo 2 para ibmcloud cr image-inspect

Para mostrar los puertos expuestos para una imagen especificada, ejecute el siguiente comando ibmcloud cr image-inspect.

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

El mensaje siguiente es un ejemplo de la salida del mandato:

map[9080/tcp: 9443/tcp:]