GNU/Linux >> Tutoriales Linux >  >> Panels >> Docker

Cómo analizar y explorar el contenido de las imágenes de Docker

Como ya sabrá, una imagen de contenedor de Docker es un paquete de software ligero, independiente y ejecutable que tiene todo lo necesario para ejecutar una aplicación. Es por eso que los desarrolladores suelen utilizar imágenes de contenedor para crear y distribuir aplicaciones. Si tiene curiosidad por saber qué hay en una imagen de Docker, esta breve guía podría ayudarlo. Hoy vamos a aprender a analizar y explorar el contenido de las imágenes de Docker capa por capa usando una herramienta llamada "Dive" . Al analizar una imagen de Docker, podemos descubrir posibles archivos duplicados en las capas y eliminarlos para reducir el tamaño de la imagen de Docker. La utilidad Dive no es solo un analizador de imágenes Docker, sino que también nos ayuda a construir uno. Dive es una herramienta gratuita de código abierto escrita en Go lenguaje de programación.

Instalando Dive

Obtén la última versión de la página de lanzamientos e instálelo como se muestra a continuación según la distribución que utilice.

Si estás en Debian o Ubuntu , ejecute los siguientes comandos para descargarlo e instalarlo.

$ wget https://github.com/wagoodman/dive/releases/download/v0.0.8/dive_0.0.8_linux_amd64.deb
$ sudo apt install ./dive_0.0.8_linux_amd64.deb

En RHEL/CentOS:

$ wget https://github.com/wagoodman/dive/releases/download/v0.0.8/dive_0.0.8_linux_amd64.rpm
$ sudo rpm -i dive_0.0.8_linux_amd64.rpm

Está disponible en AUR , para que pueda instalar usando cualquier herramienta auxiliar de AUR, por ejemplo, Yay , en Arch Linux y sus variantes.

$ yay -S dive

Dive también se puede instalar usando Linuxbrew administrador de paquetes.

$ brew tap wagoodman/dive
$ brew install dive

Para conocer otros métodos de instalación, consulte la página de GitHub del proyecto que se encuentra al final de esta guía.

Analice y explore el contenido de las imágenes de Docker

Para analizar una imagen de Docker, simplemente ejecute el comando de inmersión con "ID de imagen" de Docker. Puede obtener los ID de sus imágenes Docker usando el comando "sudo docker images".

$ sudo dive ea4c82dcd15a

Aquí, ea4c82dcd15a es la identificación de la imagen de Docker.

El comando Dive analizará rápidamente la imagen Docker dada y mostrará su contenido en la Terminal.

Explore el contenido de las imágenes de Docker

Como puede ver en la captura de pantalla anterior, las capas de la imagen acoplable dada y sus detalles, el espacio desperdiciado se muestran en el panel izquierdo. En el panel derecho, el contenido de cada capa en la imagen de Docker dada. Puede alternar entre el panel izquierdo y derecho usando Ctrl+BARRA ESPACIADORA tecla y ARRIBA/ABAJO teclas de flecha para navegar por el árbol de directorios.

La lista de atajos de teclado para usar "Dive".

  • Ctrl+Barra espaciadora - Cambiar entre los paneles izquierdo y derecho,
  • Barra espaciadora - Expandir/Contraer árbol de directorios,
  • Ctrl+A - Mostrar/ocultar archivos agregados,
  • Ctrl+R - Mostrar/ocultar archivos eliminados,
  • Ctrl+M - Mostrar/ocultar archivos modificados,
  • Ctrl+U - Mostrar/ocultar archivos no modificados,
  • Ctrl+L - Mostrar cambios de capa,
  • Ctrl+A - Mostrar cambios de capa,
  • Ctrl+/ - Filtrar archivos,
  • Ctrl+C - Salir.

En el ejemplo anterior, he usado el permiso "sudo", porque mis imágenes de Docker se almacenan en /var/lib/docker/ directorio. Si los tiene en su directorio $HOME o en cualquier lugar que no sea del usuario "raíz", no necesita usar "sudo".

También puede crear una imagen de Docker y realizar un análisis inmediato con un comando:

$ dive build -t <some-tag>

Para obtener más detalles, consulte la página de GitHub del proyecto que figura a continuación.


Docker
  1. Caché de Docker:cómo hacer una reconstrucción de imagen limpia y borrar la caché de Docker

  2. Cómo usar imágenes, contenedores y archivos Docker en profundidad

  3. La diferencia entre CMD y ENTRYPOINT en Docker Images

  4. Cómo modificar imágenes de Docker

  5. Cómo crear y configurar automáticamente imágenes Docker personalizadas con Dockerfile - Parte 3

Trabajar con imágenes de Docker, contenedores y DockerHub

Cómo limpiar y eliminar imágenes de Docker

Cómo actualizar las imágenes de Docker a la última versión

Cómo usar Docker Commit para cambiar imágenes de contenedores

Cómo compilar y enviar una imagen de Docker al repositorio de Docker Hub

Cómo listar/buscar/extraer imágenes de la ventana acoplable en Linux