Formatear la salida de los comandos y de los logs
Docker admite plantillas de Go (Go templates) que puedes utilizar para manipular el formato de salida de ciertos comandos y controladores de registros (log drivers).
Docker proporciona un conjunto de funciones básicas para manipular elementos de plantilla. Todos estos ejemplos utilizan el comando docker inspect, pero muchos otros comandos de la CLI tienen una bandera --format, y muchas de las referencias de comandos de la CLI incluyen ejemplos de personalización del formato de salida.
NoteAl utilizar la bandera
--format, debes tener en cuenta tu entorno de shell. En una shell POSIX, puedes ejecutar lo siguiente utilizando comillas simples:$ docker inspect --format '{{join .Args " , "}}'Por el contrario, en una shell de Windows (por ejemplo, PowerShell), debes utilizar comillas simples pero escapar las comillas dobles dentro de los parámetros de la siguiente manera:
$ docker inspect --format '{{join .Args \" , \"}}'
join
join concatena una lista de cadenas para crear una única cadena. Coloca un separador entre cada elemento de la lista.
$ docker inspect --format '{{join .Args " , "}}' container
table
table especifica qué campos deseas ver en la salida.
$ docker image list --format "table {{.ID}}\t{{.Repository}}\t{{.Tag}}\t{{.Size}}"
json
json codifica un elemento como una cadena JSON.
$ docker inspect --format '{{json .Mounts}}' container
lower
lower transforma una cadena a su representación en minúsculas.
$ docker inspect --format "{{lower .Name}}" container
split
split divide una cadena en una lista de cadenas separadas por un delimitador.
$ docker inspect --format '{{split .Image ":"}}' container
title
title convierte en mayúscula el primer carácter de una cadena.
$ docker inspect --format "{{title .Name}}" container
upper
upper transforma una cadena a su representación en mayúsculas.
$ docker inspect --format "{{upper .Name}}" container
pad
pad añade relleno de espacio en blanco a una cadena. Puedes especificar el número de espacios a añadir antes y después de la cadena.
$ docker image list --format '{{pad .Repository 5 10}}'
Este ejemplo añade 5 espacios antes del nombre del repositorio de la imagen y 10 espacios después.
truncate
truncate acorta una cadena a una longitud especificada. Si la cadena es más corta que la longitud especificada, permanece inalterada.
$ docker image list --format '{{truncate .Repository 15}}'
Este ejemplo muestra el nombre del repositorio de la imagen, truncándolo a los primeros 15 caracteres si es más largo.
println
println imprime cada valor en una línea nueva.
$ docker inspect --format='{{range .NetworkSettings.Networks}}{{println .IPAddress}}{{end}}' container
Consejo (Hint)
Para averiguar qué datos se pueden imprimir, muestra todo el contenido en formato JSON:
$ docker container ls --format='{{json .}}'