Inspecionar a rede personalizada usando um template Go
Nesta etapa, você aprenderá como usar templates Go com o comando docker network inspect para extrair informações específicas da configuração da rede. Isso é útil quando você só precisa de certos detalhes e não quer analisar toda a saída JSON.
A flag -f ou --format permite que você especifique um template Go. O template usa a sintaxe do template Go para acessar campos dentro da saída JSON.
Digamos que você só queira ver o ID e o driver da rede. Você pode usar o seguinte template: {{.Id}} {{.Driver}}.
Execute o seguinte comando para inspecionar my-custom-network e formatar a saída usando este template:
docker network inspect -f '{{.Id}} {{.Driver}}' my-custom-network
A saída será o ID da rede seguido pelo nome do driver, separados por um espaço.
Você também pode acessar campos aninhados. Por exemplo, para obter a subnet da configuração IPAM, você pode usar o template {{.IPAM.Config}}. Como IPAM.Config é uma lista, você pode precisar iterar por ela ou acessar um elemento específico se houver múltiplas configurações. Para simplificar, vamos assumir que há apenas uma configuração e acessar o campo Subnet dentro do primeiro elemento da lista Config: {{(index .IPAM.Config 0).Subnet}}.
Vamos tentar inspecionar a rede e exibir o nome da rede e a subnet:
docker network inspect -f 'Name: {{.Name}}, Subnet: {{(index .IPAM.Config 0).Subnet}}' my-custom-network
Este comando produzirá o nome da rede e sua subnet em um formato mais legível.
Usar templates Go fornece uma maneira poderosa de personalizar a saída dos comandos Docker e extrair exatamente as informações que você precisa.