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