GNU/Linux >> Tutoriels Linux >  >> Panels >> Docker

Comment analyser et explorer le contenu des images Docker

Comme vous le savez peut-être déjà, une image de conteneur Docker est un package logiciel léger, autonome et exécutable qui contient tout ce qui est nécessaire pour exécuter une application. C'est pourquoi les images de conteneur sont souvent utilisées par les développeurs pour créer et distribuer des applications. Si vous êtes curieux de savoir ce qu'il y a dans une image Docker, ce bref guide pourrait vous aider. Aujourd'hui, nous allons apprendre à analyser et explorer le contenu des images Docker couche par couche à l'aide d'un outil nommé "Dive" . En analysant une image Docker, nous pouvons découvrir d'éventuels fichiers en double sur les couches et les supprimer pour réduire la taille de l'image Docker. L'utilitaire Dive n'est pas seulement un analyseur d'images Docker, mais nous aide également à en créer un. Dive est un outil open source gratuit écrit en Go langage de programmation.

Installer Dive

Obtenez la dernière version à partir de la page des versions et installez-le comme indiqué ci-dessous en fonction de la distribution que vous utilisez.

Si vous êtes sur Debian ou Ubuntu , exécutez les commandes suivantes pour le télécharger et l'installer.

$ 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

Sur 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

Il est disponible en AUR , vous pouvez donc installer à l'aide de n'importe quel outil d'assistance AUR, par exemple Yay , sur Arch Linux et ses variantes.

$ yay -S dive

Dive peut également être installé avec Linuxbrew gestionnaire de paquets.

$ brew tap wagoodman/dive
$ brew install dive

Pour d'autres méthodes d'installation, reportez-vous à la page GitHub du projet indiquée à la fin de ce guide.

Analyser et explorer le contenu des images Docker

Pour analyser une image Docker, exécutez simplement la commande dive avec Docker "Image ID". Vous pouvez obtenir les identifiants de vos images Docker à l'aide de la commande "sudo docker images".

$ sudo dive ea4c82dcd15a

Ici, ea4c82dcd15a est l'identifiant de l'image Docker.

La commande Dive analysera rapidement l'image Docker donnée et affichera son contenu dans le terminal.

Explorer le contenu des images Docker

Comme vous pouvez le voir dans la capture d'écran ci-dessus, les couches d'une image docker donnée et ses détails, l'espace perdu sont affichés dans le volet de gauche. Dans le volet de droite, le contenu de chaque couche dans l'image Docker donnée. Vous pouvez basculer entre les volets de gauche et de droite en utilisant Ctrl+ESPACE touche et HAUT/BAS touches fléchées pour naviguer dans l'arborescence des répertoires.

La liste des raccourcis clavier pour utiliser "Dive".

  • Ctrl+Barre d'espace - Basculer entre les volets gauche et droit,
  • Barre d'espace - Agrandir/Réduire l'arborescence des répertoires,
  • Ctrl+A - Afficher/masquer les fichiers ajoutés,
  • Ctrl+R - Afficher/masquer les fichiers supprimés,
  • Ctrl+M - Afficher/masquer les fichiers modifiés,
  • Ctrl+U - Afficher/masquer les fichiers non modifiés,
  • Ctrl+L - Afficher les changements de calque,
  • Ctrl+A - Afficher les changements de calque,
  • Ctrl+/ - Filtrer les fichiers,
  • Ctrl+C - Quittez.

Dans l'exemple ci-dessus, j'ai utilisé l'autorisation "sudo", car mes images Docker sont stockées dans /var/lib/docker/ annuaire. Si vous les avez dans votre répertoire $HOME ou n'importe où n'appartenant pas à l'utilisateur "root", vous n'avez pas besoin d'utiliser "sudo".

Vous pouvez également créer une image Docker et effectuer une analyse immédiate avec une seule commande :

$ dive build -t <some-tag>

Pour plus de détails, consultez la page GitHub du projet ci-dessous.


Docker
  1. Comment empaqueter et transférer des images Docker d'un serveur à un autre

  2. Comment partager des images Docker avec d'autres

  3. La différence entre CMD et ENTRYPOINT dans les images Docker

  4. Comment modifier les images Docker

  5. Comment créer et configurer automatiquement des images Docker personnalisées avec Dockerfile - Partie 3

Utilisation des images Docker, des conteneurs et du DockerHub

Comment nettoyer et supprimer des images Docker

Comment mettre à jour les images Docker vers la dernière version

Comment utiliser Docker Commit pour modifier les images de conteneur

Comment créer et envoyer une image Docker au référentiel Docker Hub

Comment répertorier / rechercher / extraire des images docker sous Linux