Inspeccionar la red personalizada utilizando una plantilla de Go (Go template)
En este paso, aprenderá cómo utilizar plantillas de Go con el comando docker network inspect
para extraer información específica de la configuración de la red. Esto es útil cuando solo necesita ciertos detalles y no desea analizar toda la salida JSON.
La opción -f
o --format
le permite especificar una plantilla de Go. La plantilla utiliza la sintaxis de plantillas de Go para acceder a los campos dentro de la salida JSON.
Digamos que solo desea ver el ID y el controlador (driver) de la red. Puede utilizar la siguiente plantilla: {{.Id}} {{.Driver}}
.
Ejecute el siguiente comando para inspeccionar my-custom-network
y dar formato a la salida utilizando esta plantilla:
docker network inspect -f '{{.Id}} {{.Driver}}' my-custom-network
La salida será el ID de la red seguido del nombre del controlador, separados por un espacio.
También puede acceder a campos anidados. Por ejemplo, para obtener la subred de la configuración de IPAM, puede utilizar la plantilla {{.IPAM.Config}}
. Dado que IPAM.Config
es una lista, es posible que deba iterar sobre ella o acceder a un elemento específico si hay múltiples configuraciones. Para simplificar, supongamos que solo hay una configuración y accedamos al campo Subnet
dentro del primer elemento de la lista Config
: {{(index .IPAM.Config 0).Subnet}}
.
Intentemos inspeccionar la red y mostrar el nombre de la red y la subred:
docker network inspect -f 'Name: {{.Name}}, Subnet: {{(index .IPAM.Config 0).Subnet}}' my-custom-network
Este comando mostrará el nombre de la red y su subred en un formato más legible.
Utilizar plantillas de Go proporciona una forma poderosa de personalizar la salida de los comandos de Docker y extraer exactamente la información que necesita.