В то время как флаг --pretty
предоставляет удобочитаемую сводку, флаг --format
позволяет вам точно контролировать формат вывода с использованием синтаксиса шаблонов Go. Это невероятно мощный инструмент для извлечения определенных частей информации или форматирования вывода для скриптов или отчетов.
Синтаксис шаблонов Go позволяет вам обращаться к полям в JSON - выводе команды inspect
. Например, чтобы получить только идентификатор и имя службы, вы можете использовать строку формата, такую как {{.ID}} {{.Spec.Name}}
.
Попробуем проверить службу my-web-service
и отформатировать вывод так, чтобы показать только идентификатор и имя службы.
docker service inspect --format '{{.ID}} {{.Spec.Name}}' my-web-service
Вы должны увидеть вывод, похожий на следующий:
<SERVICE_ID> my-web-service
где <SERVICE_ID>
- это фактический идентификатор вашей службы.
Вы можете обращаться к вложенным полям, используя точку. Например, чтобы получить имя образа, вы должны использовать {{.Spec.TaskTemplate.ContainerSpec.Image}}
.
Попробуем другой пример, чтобы получить имя службы и используемый ею образ.
docker service inspect --format 'Service Name: {{.Spec.Name}}, Image: {{.Spec.TaskTemplate.ContainerSpec.Image}}' my-web-service
Вывод будет следующим:
Service Name: my-web-service, Image: nginx
Флаг --format
очень гибкий и позволяет вам адаптировать вывод под свои конкретные нужды. Вы можете изучить полный JSON - вывод (без флагов --pretty
или --format
), чтобы понять структуру и определить поля, которые вы хотите извлечь.