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
Createdde 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 du modèle Go pour la commande
ibmcloud cr image-digests. - Options du modèle Go pour la commande
ibmcloud cr image-list. - Options du modèle Go pour la commande
ibmcloud cr image-inspect.
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.
| 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 :
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.
| 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 :
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.
| 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
| 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
| 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.
|
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
| 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:]