¿Cómo ver la vista de árbol de las imágenes de docker?


Sé que docker ha dejado en desuso la bandera --tree del comando docker images. Pero no pude encontrar ningún comando útil para obtener la misma salida como docker images --tree. Encontré dockviz . Pero parece ser otro contenedor para correr. ¿Hay algún comando integrado en la cli para ver la vista en árbol de las imágenes sin usar dockviz

 33
Author: Nur Rony, 2015-09-08

1 answers

La solución actual (septiembre de 2015, docker 1.8) mencionada por problema 5001 sigue siendo dockviz de hecho:

docker run --rm -v /var/run/docker.sock:/var/run/docker.sock nate/dockviz images -t

El -t permite permanecer solo en CLI (no se necesitan gráficos)


Actualización Sept. 2016 (post docker 1.10: docker 1.11 soon 1.12), un año más tarde, como se menciona en el mismo número 5001 , por Michael Härtl :

Desde la versión 1.10 la forma en que funcionaban los ID de capa ha cambiado fundamentalmente. Para una larga explicación de este tema ver #20399. También hay #20451 pero no estoy seguro, si esto podría ser utilizado por la imagen de Nate / dockviz.

Personalmente encuentro la forma en que funcionan las nuevas capas muy, muy confusa y mucho menos transparente que antes. Y tampoco está bien documentado.
Los comentarios de AFAIK @tonistiigi en el número anterior son la única explicación pública disponible.

Tõnis Tiigi :

Pre v1.10 no había concepto de capas o la otra forma de pensar es que cada imagen solo tenía una capa. Se construyó una cadena de imágenes y le empujó y tiró de la cadena. Todas estas imágenes de la cadena tenían su propia configuración.

Ahora hay un concepto de una capa que es una diferencia de sistema de archivos direccionable de contenido. Cada configuración de imagen tiene una matriz de referencias de capa que conforman el sistema de archivos raíz de la imagen y ninguna imagen requiere nada de su padre para ejecutarse. Empujar y tirar solo mover una sola imagen, el padre las imágenes solo se generan para una compilación local que se usa para la caché.

Si crea una imagen con Dockerfile, cada comando agrega un elemento de historial a la configuración de la imagen. Esto almacena a comando para que pueda verlo en el historial de docker. Como esto es parte de la configuración de la imagen, también se mueve con push/pull y se incluye en la verificación de suma de comprobación.

Aquí hay algunos ejemplos de contenido direccionable configs:
https://gist.github.com/tonistiigi/6447977af6a5c38bbed8

Términos en v1.10: (los términos realmente no han cambiado en la implementación, pero anteriormente nuestros documentos probablemente simplificaron las cosas).

  • Layer es un sistema de archivos diff. Montón de archivos que cuando se apilan uno encima del otro forman un sistema de archivos raíz. Las capas son administradas por graphdrivers, no saben nada sobre imágenes.
  • La imagen es algo que se puede ejecutar y que aparece en docker images-a . Necesita tener un objeto de configuración. Cuando el contenedor se inicia necesita algún tipo de forma de generar un sistema de archivos raíz a partir de información de imagen. En la compilación, cada comando Dockerfile crea una nueva imagen.

Puede consultar el proyecto más recienteTomasTomecek/sen, que:

https://github.com/TomasTomecek/sen/raw/master/data/image-tree.gif

 52
Author: VonC,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-09-27 09:34:04