Loading...

Docker diff richtig nutzen

Jonas Scholz - Co-Founder von sliplane.ioJonas Scholz
2 min

Wenn du mit Docker-Containern arbeitest, ist es hilfreich zu wissen, welche Änderungen innerhalb der Container vorgenommen wurden. Genau hier kommt der Befehl docker diff ins Spiel. Er zeigt dir, welche Dateien oder Verzeichnisse seit der Erstellung des Containers hinzugefügt, gelöscht oder verändert wurden.

Der docker diff Befehl ist ziemlich unkompliziert. Du musst nur den Container angeben, den du überprüfen möchtest. Du kannst dafür die vollständige Container-ID verwenden, eine gekürzte Version der ID oder sogar den Namen, den du dem Container beim Start mit docker run --name gegeben hast.

So sieht der Befehl aus:

docker diff CONTAINER

Wenn du diesen Befehl ausführst, zeigt Docker dir eine Liste mit Änderungen an. Jede Änderung ist mit einem Buchstaben markiert, der dir sagt, was passiert ist:

  • A: Eine Datei oder ein Verzeichnis wurde hinzugefügt (Added).
  • D: Eine Datei oder ein Verzeichnis wurde gelöscht (Deleted).
  • C: Eine Datei oder ein Verzeichnis wurde geändert (Changed).

Schauen wir uns ein Beispiel an, um zu sehen, wie das in der Praxis funktioniert. Stell dir vor, du hast einen nginx-Container laufen und möchtest sehen, was sich darin geändert hat. Du würdest einen Befehl wie diesen ausführen:

docker diff 1fdfd1f54c1b

Die Ausgabe könnte etwa so aussehen:

C /dev
C /dev/console
C /dev/core
C /dev/stdout
C /dev/fd
C /dev/ptmx
C /dev/stderr
C /dev/stdin
C /run
A /run/nginx.pid
C /var/lib/nginx/tmp
A /var/lib/nginx/tmp/client_body
A /var/lib/nginx/tmp/fastcgi
A /var/lib/nginx/tmp/proxy
A /var/lib/nginx/tmp/scgi
A /var/lib/nginx/tmp/uwsgi
C /var/log/nginx
A /var/log/nginx/access.log
A /var/log/nginx/error.log

In diesem Beispiel siehst du, dass mehrere Dateien und Verzeichnisse geändert (C) wurden und einige neue hinzugekommen (A) sind. Zum Beispiel wurde /run/nginx.pid hinzugefügt, das ist die Prozess-ID-Datei für den nginx-Server. Außerdem wurden neue Log-Dateien wie /var/log/nginx/access.log und /var/log/nginx/error.log erstellt.

Die Verwendung von docker diff ist eine großartige Möglichkeit, um zu verfolgen, was in deinen Containern passiert. Es hilft dir zu verstehen, wie sich deine Anwendungen verhalten und welche Dateien sie nutzen oder verändern. Das kann wirklich nützlich sein für Debugging oder einfach, um einen Überblick zu behalten.

Willkommen in der Container-Cloud

Sliplane macht es einfach, Container in der Cloud zu deployen und bei Bedarf zu skalieren. Probier es jetzt aus!