Проверить пользовательскую сеть с использованием шаблона Go
На этом этапе вы узнаете, как использовать Go-шаблоны с командой docker network inspect для извлечения определенной информации из конфигурации сети. Это полезно, когда вам нужны только определенные детали и вы не хотите разбирать весь JSON-вывод.
Флаг -f или --format позволяет указать Go-шаблон. Шаблон использует синтаксис Go-шаблонов для доступа к полям в JSON-выводе.
Предположим, вы хотите увидеть только идентификатор и драйвер сети. Вы можете использовать следующий шаблон: {{.Id}} {{.Driver}}.
Выполните следующую команду, чтобы проверить сеть my-custom-network и отформатировать вывод с использованием этого шаблона:
docker network inspect -f '{{.Id}} {{.Driver}}' my-custom-network
Выводом будет идентификатор сети, за которым следует имя драйвера, разделенные пробелом.
Вы также можете получить доступ к вложенным полям. Например, чтобы получить подсеть из конфигурации IPAM, вы можете использовать шаблон {{.IPAM.Config}}. Поскольку IPAM.Config представляет собой список, вам может потребоваться пройти по нему в цикле или получить доступ к определенному элементу, если есть несколько конфигураций. Для простоты предположим, что есть только одна конфигурация, и получим доступ к полю Subnet в первом элементе списка Config: {{(index .IPAM.Config 0).Subnet}}.
Попробуем проверить сеть и отобразить имя сети и подсеть:
docker network inspect -f 'Name: {{.Name}}, Subnet: {{(index .IPAM.Config 0).Subnet}}' my-custom-network
Эта команда выведет имя сети и ее подсеть в более удобочитаемом формате.
Использование Go-шаблонов представляет собой мощный способ настройки вывода команд Docker и извлечения именно той информации, которая вам нужна.