Dans cette étape, vous apprendrez à utiliser des templates Go pour formater la sortie de la commande docker inspect
. Cela vous permet d'extraire des informations spécifiques du résultat JSON détaillé et de les afficher dans un format personnalisé.
Commençons par exécuter un conteneur qui restera actif.
docker run -d --name my-templated-container ubuntu sleep infinity
Maintenant, inspectons ce conteneur et utilisons un template Go pour afficher uniquement son adresse IP. L'adresse IP se trouve dans le champ NetworkSettings.IPAddress
de la sortie d'inspection.
docker inspect --format '{{.NetworkSettings.IPAddress}}' my-templated-container
Dans cette commande :
--format '{{.NetworkSettings.IPAddress}}'
: Ce flag spécifie le format en utilisant un template Go.
{{...}}
: Ces doubles accolades dénotent une action dans le template Go.
.
: Représente l'objet racine inspecté (le conteneur).
NetworkSettings
: Accède au champ NetworkSettings
dans l'objet racine.
IPAddress
: Accède au champ IPAddress
dans l'objet NetworkSettings
.
Le résultat de cette commande sera uniquement l'adresse IP du conteneur.
Vous pouvez utiliser des templates Go pour extraire diverses informations. Par exemple, pour obtenir le nom et l'ID du conteneur :
docker inspect --format 'Name: {{.Name}}, ID: {{.Id}}' my-templated-container
Cela affichera quelque chose comme Name: /my-templated-container, ID: <container_id>
.
Les templates Go offrent des capacités de formatage puissantes, incluant des conditions, des boucles et des fonctions. Cependant, pour cet exemple basique, nous nous contentons d'accéder à des champs.
Après l'inspection, arrêtez et supprimez le conteneur.
docker stop my-templated-container
docker rm my-templated-container