Formater la sortie des commandes et des logs
Docker prend en charge les templates Go que vous pouvez utiliser pour manipuler le format de sortie de certaines commandes et pilotes de logs.
Docker fournit un ensemble de fonctions de base pour manipuler les éléments de template.
Tous ces exemples utilisent la commande docker inspect
, mais de nombreuses autres commandes CLI
ont un drapeau --format
, et beaucoup de références de commandes CLI
incluent des exemples de personnalisation du format de sortie.
NoteLors de l'utilisation du drapeau
--format
, vous devez observer votre environnement shell. Dans un shell POSIX, vous pouvez exécuter la commande suivante avec une simple quote :$ docker inspect --format '{{join .Args " , "}}'
Sinon, dans un shell Windows (par exemple, PowerShell), vous devez utiliser des simples quotes, mais échapper les guillemets doubles à l'intérieur des paramètres comme suit :
$ docker inspect --format '{{join .Args \" , \"}}'
join
join
concatène une liste de chaînes pour créer une seule chaîne.
Il place un séparateur entre chaque élément de la liste.
$ docker inspect --format '{{join .Args " , "}}' container
table
table
spécifie quels champs vous voulez voir dans sa sortie.
$ docker image list --format "table {{.ID}}\t{{.Repository}}\t{{.Tag}}\t{{.Size}}"
json
json
encode un élément en tant que chaîne json.
$ docker inspect --format '{{json .Mounts}}' container
lower
lower
transforme une chaîne en sa représentation en minuscules.
$ docker inspect --format "{{lower .Name}}" container
split
split
divise une chaîne en une liste de chaînes séparées par un séparateur.
$ docker inspect --format '{{split .Image ":"}}' container
title
title
met en majuscule le premier caractère d'une chaîne.
$ docker inspect --format "{{title .Name}}" container
upper
upper
transforme une chaîne en sa représentation en majuscules.
$ docker inspect --format "{{upper .Name}}" container
pad
pad
ajoute un remplissage d'espaces à une chaîne. Vous pouvez spécifier le nombre d'espaces à ajouter avant et après la chaîne.
$ docker image list --format '{{pad .Repository 5 10}}'
Cet exemple ajoute 5 espaces avant le nom du dépôt d'image et 10 espaces après.
truncate
truncate
raccourcit une chaîne à une longueur spécifiée. Si la chaîne est plus courte que la longueur spécifiée, elle reste inchangée.
$ docker image list --format '{{truncate .Repository 15}}'
Cet exemple affiche le nom du dépôt d'image, en le tronquant aux 15 premiers caractères s'il est plus long.
println
println
affiche chaque valeur sur une nouvelle ligne.
$ docker inspect --format='{{range .NetworkSettings.Networks}}{{println .IPAddress}}{{end}}' container
Astuce
Pour découvrir quelles données peuvent être affichées, montrez tout le contenu en json :
$ docker container ls --format='{{json .}}'