En este paso, aprenderás a utilizar plantillas Go para formatear la salida del comando docker inspect. Esto te permite extraer información específica de la salida JSON detallada y mostrarla en un formato personalizado.
Primero, ejecutemos un contenedor que permanezca en ejecución.
docker run -d --name my-templated-container ubuntu sleep infinity
Ahora, inspeccionemos este contenedor y usemos una plantilla Go para mostrar únicamente su dirección IP. La dirección IP se encuentra en el campo NetworkSettings.IPAddress de la salida de inspección.
docker inspect --format '{{.NetworkSettings.IPAddress}}' my-templated-container
En este comando:
--format '{{.NetworkSettings.IPAddress}}': Esta bandera especifica el formato usando una plantilla Go.
{{...}}: Estas llaves dobles denotan una acción en la plantilla Go.
.: Representa el objeto raíz que se está inspeccionando (el contenedor).
NetworkSettings: Accede al campo NetworkSettings dentro del objeto raíz.
IPAddress: Accede al campo IPAddress dentro del objeto NetworkSettings.
La salida de este comando será únicamente la dirección IP del contenedor.
Puedes usar plantillas Go para extraer diferentes tipos de información. Por ejemplo, para obtener el nombre e ID del contenedor:
docker inspect --format 'Name: {{.Name}}, ID: {{.Id}}' my-templated-container
Esto mostrará algo como Name: /my-templated-container, ID: <container_id>.
Las plantillas Go ofrecen capacidades avanzadas de formateo, incluyendo condicionales, bucles y funciones. Sin embargo, para este ejemplo básico, solo estamos accediendo a campos.
Después de inspeccionar, detén y elimina el contenedor.
docker stop my-templated-container
docker rm my-templated-container