Si bien --pretty
proporciona un resumen legible para humanos, la opción --format
te permite tener un control detallado sobre el formato de salida utilizando la sintaxis de plantillas de Go. Esto es increíblemente poderoso para extraer piezas específicas de información o formatear la salida para scripts o informes.
La sintaxis de plantillas de Go te permite acceder a los campos dentro de la salida JSON del comando inspect
. Por ejemplo, para obtener solo el ID y el nombre del servicio, puedes utilizar una cadena de formato como {{.ID}} {{.Spec.Name}}
.
Intentemos inspeccionar el my-web-service
y formatear la salida para mostrar solo el ID y el nombre del servicio.
docker service inspect --format '{{.ID}} {{.Spec.Name}}' my-web-service
Deberías ver una salida similar a:
<SERVICE_ID> my-web-service
donde <SERVICE_ID>
es el ID real de tu servicio.
Puedes acceder a campos anidados utilizando puntos. Por ejemplo, para obtener el nombre de la imagen, utilizarías {{.Spec.TaskTemplate.ContainerSpec.Image}}
.
Intentemos otro ejemplo para obtener el nombre del servicio y la imagen que está utilizando.
docker service inspect --format 'Service Name: {{.Spec.Name}}, Image: {{.Spec.TaskTemplate.ContainerSpec.Image}}' my-web-service
La salida será:
Service Name: my-web-service, Image: nginx
La opción --format
es muy flexible y te permite adaptar la salida a tus necesidades específicas. Puedes explorar la salida JSON completa (sin --pretty
o --format
) para entender la estructura e identificar los campos que deseas extraer.