Docker-Image ist ein spezielles Dateisystem, das nicht nur die für die Containerlaufzeit erforderlichen Programme, Bibliotheken, Ressourcen, Konfigurationen und andere Dateien bereitstellt, sondern auch einige für die Laufzeit vorbereitete Konfigurationsparameter (z. B. anonyme Volumes, Umgebungsvariablen, Benutzer usw.). usw.); das Bild enthält keine dynamischen Daten und sein Inhalt wird nach der Erstellung nicht geändert.
Die Betriebsumgebung dieses Artikels: Ubuntu 18.04-System, Docker-Version 20.10.11, Dell G3-Computer.
Was genau ist ein Docker-Image?
Lassen Sie uns zunächst verstehen, was ein Image ist:
Wir alle wissen, dass das Betriebssystem in Kernel und User Space unterteilt ist. Bei Linux wird nach dem Start des Kernels das Root-Dateisystem gemountet, um User-Space-Unterstützung bereitzustellen. Das Docker-Image (Image) entspricht einem Root-Dateisystem. Beispielsweise enthält das offizielle Image ubuntu:18.04 einen vollständigen Satz des Root-Dateisystems des Ubuntu 18.04-Minimalsystems.
Docker-Image ist ein spezielles Dateisystem. Es stellt nicht nur die für die Containerlaufzeit erforderlichen Programme, Bibliotheken, Ressourcen, Konfigurationen und andere Dateien bereit, sondern enthält auch einige für die Laufzeit vorbereitete Konfigurationsparameter (z. B. anonyme Volumes, Umgebungsvariablen usw.). Benutzer usw.). Das Bild enthält keine dynamischen Daten und sein Inhalt wird nach der Erstellung nicht geändert.
Layered Storage
Da das Image das komplette Root-Dateisystem des Betriebssystems enthält, ist sein Volumen oft riesig. Daher nutzt es beim Entwurf von Docker die Technologie voll aus und gestaltet es als mehrstufige Speicherarchitektur. Streng genommen ist ein Image keine gepackte Datei wie ein ISO. Ein Image ist lediglich ein virtuelles Konzept. Seine tatsächliche Manifestation besteht nicht aus einer Datei, sondern aus einer Reihe von Dateisystemen, oder anders ausgedrückt, einer Kombination aus mehreren. Schichtdateisysteme.
Wenn das Bild erstellt wird, wird es Schicht für Schicht aufgebaut, wobei die vorherige Ebene die Grundlage für die nächste Ebene bildet. Nachdem jede Ebene erstellt wurde, werden Änderungen an der nachfolgenden Ebene nicht mehr vorgenommen. Wenn Sie beispielsweise eine Datei auf der vorherigen Ebene löschen, wird die Datei auf der vorherigen Ebene nicht tatsächlich gelöscht, sondern nur auf der aktuellen Ebene als gelöscht markiert. Wenn der endgültige Container ausgeführt wird, wird diese Datei zwar nicht angezeigt, sie folgt jedoch immer dem Bild. Daher müssen Sie beim Erstellen eines Bildes besonders vorsichtig sein. Jede Ebene sollte nur das enthalten, was der Ebene hinzugefügt werden muss. Alle zusätzlichen Dinge sollten bereinigt werden, bevor die Erstellung der Ebene abgeschlossen ist.
Die Funktion der mehrstufigen Speicherung erleichtert außerdem die Wiederverwendung und individuelle Anpassung von Bildern. Sie können sogar das zuvor erstellte Image als Basisebene verwenden und dann weitere Ebenen hinzufügen, um Ihre Anforderungen anzupassen und ein neues Image zu erstellen.
Über die Spiegelkonstruktion werden wir sie in den folgenden verwandten Artikeln näher erläutern.
Empfohlenes Lernen: „Docker-Video-Tutorial“
Das obige ist der detaillierte Inhalt vonWas genau ist ein Docker-Image?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!