Was bedeutet „docker export image“ und wie wird dieser Befehl verwendet?
- Einführung in Docker und Container-Images
- Unterschied zwischen docker export und docker save
- Was bewirkt docker export genau?
- Wie wird docker export verwendet?
- Limitierungen und typische Anwendungsfälle
- Fazit
Einführung in Docker und Container-Images
Docker ist eine Plattform zur Containerisierung, die es ermöglicht, Anwendungen und ihre Abhängigkeiten in isolierten Containern auszuführen. Dabei gibt es zwei wesentliche Konzepte: Container und Images. Ein Image ist sozusagen eine Vorlage, aus der Container erzeugt werden. Es enthält das Dateisystem und die Konfigurationen, die für die Ausführung eines Containers erforderlich sind.
Unterschied zwischen docker export und docker save
Oft wird docker export mit docker save verwechselt, da beide Befehle dazu dienen, Container oder Images in Dateien zu speichern. docker export wird genutzt, um den Zustand eines laufenden oder gestoppten Containers als Tar-Archiv zu speichern. Dabei werden nur die Dateisystemänderungen des Containers berücksichtigt, nicht aber das Image oder die Layer-Historie. Im Gegensatz dazu speichert docker save ein komplettes Image mit allen Layern und Metadaten.
Was bewirkt docker export genau?
Mit docker export lässt sich ein Container, nicht jedoch ein Image, exportieren. Dadurch entsteht ein Tar-Archiv, das das komplette Dateisystem des Containers zum Zeitpunkt des Exports enthält. Dieses Archiv kann anschließend importiert oder in andere Umgebungen übertragen werden. Es eignet sich besonders, wenn man einen Container-Zustand sichern oder auf einen anderen Host umziehen möchte, ohne die vollständige Image-Historie zu benötigen.
Wie wird docker export verwendet?
Der Basisbefehl lautet docker export . Dadurch wird ein Tar-Archiv mit dem kompletten Dateisystem des Containers erzeugt, das standardmäßig auf der Standardausgabe erscheint. Um die Daten in eine Datei zu speichern, wird die Ausgabe einfach umgeleitet, beispielsweise mit docker export > container.tar. Später kann dieses Archiv mit docker import wieder in ein Image verwandelt werden.
Limitierungen und typische Anwendungsfälle
Da docker export nur das Dateisystem exportiert und keine historischen Informationen, wie Image-Layer, Umgebungsvariablen oder Volumes, gehen diese Informationen verloren. Es ist daher nicht geeignet, wenn man ein Image vollständig sichern oder transportieren möchte. Allerdings eignet sich der Befehl gut, um schnell den aktuellen Zustand eines Containers zu sichern, etwa für Debugging oder Migration.
Fazit
docker export ist ein nützliches Werkzeug, um den Inhalt eines Containers als statisches Dateisystem zu exportieren. Es unterscheidet sich deutlich von docker save, das komplette Images inklusive ihrer Schichtstruktur speichert. Das Verständnis dieser Unterschiede ist entscheidend, um den richtigen Befehl für die jeweilige Anforderung in der Docker-Umgebung zu wählen.
