Formatage et filtrage de la sortie CLI de Container Registry

Vous pouvez formater et filtrer la sortie de l'interface de ligne de commande (CLI) IBM Cloud® Container Registry pour les commandes IBM Cloud Container Registry prises en charge.

Par défaut, la sortie de l'interface de ligne de commande s'affiche dans un format lisible par l'utilisateur. Cependant, cette vue risque de limiter votre capacité à utiliser la sortie, particulièrement si la commande est exécutée à l'aide d'un programme. Par exemple, dans la sortie de l'interface CLI ibmcloud cr image-list, vous pourriez vouloir trier le champ Size par ordre numérique, mais la commande renvoie une description sous forme de chaîne. Le plug-in CLI container-registry propose une option de format que vous pouvez utiliser pour appliquer un modèle Go à la sortie CLI.

Vous pouvez modifier la sortie de l'interface de ligne de commande en appliquant l'option format de deux façons différentes :

  • Formatez les données dans votre sortie CLI. Par exemple, remplacez la sortie de la zone Created de l'heure UNIX® par l'heure standard.
  • Filtrez les données dans la sortie de votre CLI. Par exemple, filtrer par détails de l'image pour afficher un sous-ensemble spécifique d'images en utilisant la condition Go template if gt.

Vous pouvez utiliser l'option de format avec les commandes IBM Cloud Container Registry suivantes. Cliquez sur une commande pour afficher la liste de zones disponibles et des types de données associés.

Options de modèle Go pour ibmcloud cr image-digests

Consultez le tableau suivant pour connaître les options du modèle Go et les types de données disponibles pour la commande ibmcloud cr image-digests et les types de données disponibles.

Champs et types de données disponibles dans la commande Container Registry pour lister les condensés d'images
Zone Type Description
Created Entier (64 bits) Cette option affiche la date de création de l'image, exprimée en nombre de secondes en heure UNIX.
Digest Chaîne Cette option permet d'afficher l'identifiant unique d'une image.
ManifestType Chaîne Cette option affiche le type de manifeste de l'image.
Repository Chaîne Cette option permet d'afficher le dépôt de l'image.
SecurityStatus Objet Cette option affiche l'état de vulnérabilité de l'image. Vous pouvez filtrer et formater les valeurs suivantes :

  • Status string
  • IssueCount int
  • ExemptionCount int

Les états possibles sont décrits dans Examiner un rapport de vulnérabilité à l'aide de l'interface de ligne de commande.

Size Entier (64 bits) Cette option affiche la taille de l'image en octets.
Tags Tableau de chaînes Cette option permet d'afficher les balises de l'image.

Exemple Commande de formatage Go pour ibmcloud cr image-digests

Pour afficher toutes les images non marquées référencées par leur résumé, exécutez la commande suivante : ibmcloud cr image-digests.

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

Le message suivant est un exemple de la sortie de la commande

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>

Options de modèle Go pour ibmcloud cr image-list

Consultez le tableau suivant pour connaître les options du modèle Go et les types de données disponibles pour la commande ibmcloud cr image-list et les types de données disponibles.

Champs et types de données disponibles dans la commande Container Registry pour lister les images
Zone Type Description
Created Entier (64 bits) Cette option affiche la date de création de l'image, exprimée en nombre de secondes en heure UNIX.
Digest Chaîne Cette option permet d'afficher l'identifiant unique d'une image.
ManifestType Chaîne Cette option affiche le type de manifeste de l'image.
Namespace Chaîne Cette option permet d'afficher l'espace de noms dans lequel l'image est stockée.
Repository Chaîne Cette option permet d'afficher le dépôt de l'image.
SecurityStatus Objet Cette option affiche l'état de vulnérabilité de l'image. Vous pouvez filtrer et formater les valeurs suivantes :

  • Status string
  • IssueCount int
  • ExemptionCount int

Les états possibles sont décrits dans Examiner un rapport de vulnérabilité à l'aide de l'interface de ligne de commande.

Size Entier (64 bits) Cette option affiche la taille de l'image en octets.
Tag Chaîne Cette option permet d'afficher la balise de l'image.

Exemple Commande de formatage Go pour ibmcloud cr image-list

Pour afficher le référentiel, la balise et l'état de sécurité de toutes les images balisées de plus de 1 Mo, exécutez la commande suivante : ibmcloud cr image-list.

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

Le message suivant est un exemple de sortie de la commande :

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 la commande de listage des images ne fonctionne pas, consultez la section Pourquoi le listage des images ne fonctionne-t-il pas? pour obtenir de l'aide.

Options de modèle Go pour ibmcloud cr image-inspect

Consultez le tableau suivant pour connaître les options du modèle Go et les types de données disponibles pour la commande ibmcloud cr image-inspect et les types de données disponibles.

Champs et types de données disponibles dans la commande Container Registry pour inspecter les images
Zone Type Description
Architecture Chaîne Cette option affiche l'architecture du processeur qui a été utilisée pour construire cette image et qui est nécessaire pour l'exécuter.
Author Chaîne Cette option permet d'afficher l'auteur de l'image.
Comment Chaîne Cette option permet d'afficher la description de l'image.
Config Objet Cette option permet d'afficher les métadonnées de configuration de l'image. Pour plus d'informations, voir lesdétails de la zone Config.
Container Chaîne Cette option affiche l'ID du conteneur qui a créé l'image.
ContainerConfig Objet Cette option affiche la configuration par défaut des conteneurs qui sont démarrés à partir de cette image. Pour plus d'informations, voir lesdétails de la zone Config.
Created Chaîne Cette option affiche l'horodatage UNIX de la création de l'image.
DockerVersion Chaîne Cette option affiche la version de Docker qui a été utilisée pour construire cette image.
ID Chaîne Cette option permet d'afficher l'identifiant unique d'une image.
Os Chaîne Cette option affiche la famille de systèmes d'exploitation qui a été utilisée pour créer cette image et qui est nécessaire pour l'exécuter.
OsVersion Chaîne Cette option affiche la version du système d'exploitation qui a été utilisée pour construire cette image.
Parent Chaîne Cette option affiche l'ID de l'image mère qui a été utilisée pour construire cette image.
RootFS Objet Cette option affiche les métadonnées qui décrivent le système de fichiers racine de l'image. Pour plus d'informations, voir lesdétails de la zone RootFS.
Size Entier (64 bits) Cette option affiche la taille de l'image en octets.
VirtualSize Entier (64 bits) Cette option affiche la somme des tailles de chaque couche de l'image en octets.

ConfigDétails de zone

Champs et types de données disponibles dans Config
Zone Type Description
ArgsEscaped Booléen Windows Cette option affiche vrai si la commande est échappée (spécifique à Windows®).
AttachStderr Booléen Cette option affiche vrai si le flux d'erreur standard est attaché au conteneur et faux si ce n'est pas le cas.
AttachStdin Booléen Cette option affiche vrai si le flux d'entrée standard est attaché au conteneur et faux si ce n'est pas le cas.
AttachStdout Booléen Cette option affiche vrai si le flux de sortie standard est attaché au conteneur et faux si ce n'est pas le cas.
Cmd Tableau de chaînes Cette option décrit les commandes et les arguments qui sont transmis à un conteneur pour qu'il soit exécuté lors de son démarrage.
Domainname Chaîne Cette option affiche le nom de domaine complet du conteneur.
Entrypoint Tableau de chaînes Cette option décrit la commande qui est exécutée au démarrage du conteneur.
Env Tableau de chaînes Cette option affiche la liste des variables d'environnement sous forme de paires clé-valeur.
ExposedPorts Mappe de valeur de clé Cette option affiche la liste des ports exposés au format [123:,456:].
Healthcheck Objet Cette option décrit comment vérifier que le conteneur fonctionne correctement. Pour plus d'informations, voir lesdétails de la zone Healthcheck.
Hostname Chaîne Cette option affiche le nom d'hôte du conteneur.
Image Chaîne Cette option affiche le nom de l'image qui a été transmise par l'opérateur.
Labels Mappe de valeur de clé Cette option affiche la liste des étiquettes qui ont été ajoutées à l'image sous forme de paires clé-valeur.
MacAddress Chaîne Cette option affiche l'adresse MAC attribuée au conteneur.
NetworkDisabled Booléen Cette option affiche true si le réseau est désactivé pour le conteneur et false si le réseau est activé pour le conteneur.
OnBuild Tableau de chaînes Cette option affiche les métadonnées ONBUILD définies sur l'image Dockerfile.
OpenStdin Booléen Cette option affiche vrai si le flux d'entrée standard est ouvert et faux si le flux d'entrée standard est fermé.
Shell Tableau de chaînes Cette option affiche la forme shell de RUN, CMD, ENTRYPOINT.
StdinOnce Booléen Cette option affiche vrai si le flux d'entrée standard est fermé après la déconnexion du client attaché et faux si le flux d'entrée standard reste ouvert.
StopSignal Chaîne Cette option décrit le signal d'arrêt UNIX® à envoyer pour arrêter le conteneur.
StopTimeout Entier Cette option affiche le délai d'attente en secondes pour l'arrêt d'un conteneur.
Tty Booléen Cette option affiche true si un pseudo-tty est alloué au conteneur et false si ce n'est pas le cas.
User Chaîne Cette option affiche l'utilisateur qui exécute les commandes dans le conteneur où l'image est utilisée.
Volumes Mappe de valeur de clé Cette option affiche la liste des volumes montés sur un conteneur.
WorkingDir Chaîne Cette option affiche le répertoire de travail qui se trouve dans le conteneur où les commandes spécifiées sont exécutées.

HealthcheckDétails de zone

Champs et types de données disponibles dans le bilan de santé
Zone Type Description
Interval Entier (64 bits) Cette option affiche le temps d'attente entre deux contrôles de santé en nanosecondes.
Retries Entier Cette option affiche le nombre d'échecs consécutifs qui doivent se produire pour qu'un conteneur soit considéré comme ne fonctionnant pas correctement.
Test Tableau de chaînes

Cette option indique comment exécuter le test de vérification de l'état de santé. Les options suivantes sont disponibles.

  • {} hérite de l'état de santé.
  • {"NONE"} l'état de santé est désactivé.
  • {"CMD", args...} recouvre les arguments directement.
  • {"CMD-SHELL", command} exécute la commande avec l'interpréteur de commandes par défaut du système.
Timeout Entier (64 bits) Cette option affiche le temps d'attente, en nanosecondes, avant que le contrôle de santé n'échoue.

RootFSDétails de zone

Champs et types de données disponibles dans RootFS
Option Type Description
BaseLayer Chaîne Cette option permet d'afficher le descripteur de la couche de base de l'image.
Layers Tableau de chaînes Cette option permet d'afficher les descripteurs de chaque couche d'image.
Type Chaîne Cette option affiche le type de système de fichiers.

Exemple de commandes de format Go pour ibmcloud cr image-inspect

Les exemples de code suivants illustrent la manière dont vous pouvez utiliser les options de formatage et de filtrage.

Exemple 1 pour ibmcloud cr image-inspect

Pour afficher l'endroit où la documentation IBM est hébergée pour une image publique spécifiée IBM, exécutez la commande suivante ibmcloud cr image-inspect.

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

Le message suivant est un exemple de sortie de la commande :

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

Exemple 2 pour ibmcloud cr image-inspect

Pour afficher les ports exposés pour une image donnée, exécutez la commande suivante : ibmcloud cr image-inspect.

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

Le message suivant est un exemple de sortie de la commande :

map[9080/tcp: 9443/tcp:]