Alors que l'option --pretty
fournit un résumé lisible par l'homme, l'option --format
vous offre un contrôle précis sur le format de sortie en utilisant la syntaxe des templates Go. Cela est incroyablement puissant pour extraire des informations spécifiques ou formater la sortie pour des scripts ou des rapports.
La syntaxe des templates Go vous permet d'accéder aux champs dans la sortie JSON de la commande inspect
. Par exemple, pour obtenir uniquement l'identifiant (ID) et le nom du service, vous pouvez utiliser une chaîne de format comme {{.ID}} {{.Spec.Name}}
.
Essayons d'inspecter le service my-web-service
et de formater la sortie pour n'afficher que l'identifiant (ID) et le nom du service.
docker service inspect --format '{{.ID}} {{.Spec.Name}}' my-web-service
Vous devriez voir une sortie similaire à :
<SERVICE_ID> my-web-service
où <SERVICE_ID>
est l'identifiant réel de votre service.
Vous pouvez accéder aux champs imbriqués en utilisant des points. Par exemple, pour obtenir le nom de l'image, vous utiliseriez {{.Spec.TaskTemplate.ContainerSpec.Image}}
.
Essayons un autre exemple pour obtenir le nom du service et l'image qu'il utilise.
docker service inspect --format 'Service Name: {{.Spec.Name}}, Image: {{.Spec.TaskTemplate.ContainerSpec.Image}}' my-web-service
La sortie sera :
Service Name: my-web-service, Image: nginx
L'option --format
est très flexible et vous permet d'adapter la sortie à vos besoins spécifiques. Vous pouvez explorer la sortie JSON complète (sans --pretty
ou --format
) pour comprendre la structure et identifier les champs que vous souhaitez extraire.