Compartir comentarios
Las respuestas se generan en base a la documentación.

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.

Note

Al 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 .}}'