⚠️ Traduction non officielle - Cette documentation est une traduction communautaire non officielle de Docker.

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.

Note

Lors 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 .}}'