GNU/Linux >> LINUX-Kenntnisse >  >> Panels >> Docker

So analysieren und erkunden Sie den Inhalt von Docker-Images

Wie Sie vielleicht bereits wissen, ist ein Docker-Container-Image ein leichtes, eigenständiges, ausführbares Softwarepaket, das alles enthält, was zum Ausführen einer Anwendung erforderlich ist. Aus diesem Grund werden Container-Images häufig von Entwicklern zum Erstellen und Verteilen von Anwendungen verwendet. Wenn Sie wissen möchten, was in einem Docker-Image enthalten ist, kann Ihnen diese kurze Anleitung helfen. Heute werden wir lernen, den Inhalt von Docker-Images Schicht für Schicht mit einem Tool namens "Dive" zu analysieren und zu untersuchen . Durch die Analyse eines Docker-Images können wir mögliche doppelte Dateien in den Ebenen erkennen und sie entfernen, um die Größe des Docker-Images zu reduzieren. Das Dienstprogramm Dive ist nicht nur ein Docker-Bildanalysator, sondern hilft uns auch dabei, einen zu erstellen. Dive ist ein kostenloses Open-Source-Tool, das in Go geschrieben wurde Programmiersprache.

Installation von Dive

Holen Sie sich die neueste Version von der Versionsseite und installieren Sie es wie unten gezeigt, abhängig von der von Ihnen verwendeten Distribution.

Wenn Sie auf Debian sind oder Ubuntu , führen Sie die folgenden Befehle aus, um es herunterzuladen und zu installieren.

$ 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

Auf 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

Es ist in AUR verfügbar , sodass Sie mit beliebigen AUR-Hilfstools installieren können, z. B. Yay , auf Arch Linux und seinen Varianten.

$ yay -S dive

Dive kann auch mit Linuxbrew installiert werden Paketmanager.

$ brew tap wagoodman/dive
$ brew install dive

Informationen zu anderen Installationsmethoden finden Sie auf der GitHub-Seite des Projekts am Ende dieser Anleitung.

Analysieren und erkunden Sie den Inhalt von Docker-Images

Um ein Docker-Image zu analysieren, führen Sie einfach den Dive-Befehl mit Docker „Image ID“ aus. Sie können die IDs Ihrer Docker-Images mit dem Befehl „sudo docker images“ abrufen.

$ sudo dive ea4c82dcd15a

Hier, ea4c82dcd15a ist die Docker-Image-ID.

Der Dive-Befehl analysiert schnell das angegebene Docker-Image und zeigt seinen Inhalt im Terminal an.

Erkunden Sie den Inhalt von Docker-Images

Wie Sie im obigen Screenshot sehen können, werden die Ebenen des angegebenen Docker-Images und seine Details, verschwendeter Speicherplatz, im linken Bereich angezeigt. Im rechten Bereich der Inhalt jeder Ebene im angegebenen Docker-Image. Mit Strg+LEERTASTE können Sie zwischen dem linken und dem rechten Bereich wechseln -Taste und AUF/AB Pfeiltasten, um durch den Verzeichnisbaum zu navigieren.

Die Liste der Tastenkombinationen zur Verwendung von "Tauchen".

  • Strg+Leertaste - Umschalten zwischen linkem und rechtem Bereich,
  • Leertaste - Erweitern/Reduzieren des Verzeichnisbaums,
  • Strg+A - Hinzugefügte Dateien ein-/ausblenden,
  • Strg+R - Entfernte Dateien anzeigen/ausblenden,
  • Strg+M - Geänderte Dateien ein-/ausblenden,
  • Strg+U - Unveränderte Dateien anzeigen/ausblenden,
  • Strg+L - Ebenenänderungen anzeigen,
  • Strg+A - Ebenenänderungen anzeigen,
  • Strg+/ - Dateien filtern,
  • Strg+C - Beenden.

Im obigen Beispiel habe ich die Berechtigung „sudo“ verwendet, da meine Docker-Images in /var/lib/docker/ gespeichert sind Verzeichnis. Wenn Sie sie in Ihrem $HOME-Verzeichnis oder an einem anderen Ort ohne "root"-Benutzer haben, brauchen Sie "sudo" nicht zu verwenden.

Sie können auch ein Docker-Image erstellen und mit einem Befehl eine sofortige Analyse durchführen:

$ dive build -t <some-tag>

Weitere Einzelheiten finden Sie auf der unten angegebenen GitHub-Seite des Projekts.


Docker
  1. So verschieben Sie Docker-Images zwischen Hosts

  2. So drehen und beschneiden Sie Bilder in InstantSite

  3. So verwenden Sie Docker-Images, Container und Dockerfiles im Detail

  4. So teilen Sie Docker-Images mit anderen

  5. Der Unterschied zwischen CMD und ENTRYPOINT in Docker-Images

Arbeiten mit Docker-Images, Containern und dem DockerHub

So bereinigen und löschen Sie Docker-Images

So aktualisieren Sie Docker-Images auf die neueste Version

So verwenden Sie Docker Commit zum Ändern von Container-Images

So erstellen Sie ein Docker-Image und übertragen es in das Docker-Hub-Repository

So listen / suchen / ziehen Sie Docker-Images unter Linux