Heim >Betrieb und Instandhaltung >Docker >Was bedeutet Bild in Docker?
Image bedeutet in Docker „Spiegel“ und ist ein Dateisystem; das Image kann mehrere Verzeichnisebenen zusammenfügen, um ein virtuelles Dateisystem mit derselben Verzeichnisstruktur zu bilden, wie Docker diese Dateien plus den Host-Kernel bereitstellt Virtuelle Linux-Umgebung.
Die Betriebsumgebung dieses Tutorials: Linux7.3-System, Docker-1.13.1-Version, Dell G3-Computer.
Was bedeutet Bild in Docker?
Bild Es gibt Ebenen von Dateisystemen, die Union FS (Union File System) genannt werden.
United File System kann mehrere Verzeichnisebenen zusammenfügen, um ein virtuelles Dateisystem zu bilden. Die Verzeichnisstruktur des virtuellen Dateisystems ähnelt der Verzeichnisstruktur von gewöhnlichem Linux. Docker stellt über diese Dateien und den Kernel des Hosts eine virtuelle Linux-Umgebung bereit.
Jede Schicht des Dateisystems wird als Schicht bezeichnet. Das gemeinsame Dateisystem kann drei Berechtigungen für jede Schicht des Dateisystems festlegen: schreibgeschützt (readonly), lesend/schreibend (readwrite) und ausschreibend (whiteout-fähig). aber docker Jede Dateisystemebene im Bild ist schreibgeschützt.
Beim Erstellen eines Images beginnen wir mit dem grundlegendsten Betriebssystem. Jeder Build-Vorgang entspricht dem Vornehmen einer Ebene von Änderungen und dem Hinzufügen einer Dateisystemebene. Schicht für Schicht verdecken Änderungen an der oberen Schicht die Sichtbarkeit der unteren Schicht. Dies ist leicht zu verstehen, genau wie die obere Schicht die untere Schicht verdeckt.
Wenn Sie es verwenden, sehen Sie nur ein vollständiges Ganzes. Sie wissen nicht, wie viele Ebenen es gibt, und Sie wissen nicht, welche Änderungen an jeder Ebene vorgenommen wurden. Die Struktur ähnelt dieser:
Grundsätzlich besteht ein typisches Linux-Dateisystem aus zwei Teilen: bootfs und rootfs (Boot-Dateisystem) umfassen hauptsächlich Bootloader und Kernel Booten und laden Sie den Kernel. Nachdem der Kernel in den Speicher geladen wurde, werden Bootfs ausgehängt.
rootfs (Root-Dateisystem) enthält Standardverzeichnisse und -dateien wie /dev, /proc, /bin, /etc usw. in einem typischen Linux-System. Die folgende Abbildung zeigt die grundlegendste zweischichtige Struktur im Docker-Image. Verschiedene Linux-Distributionen (wie Ubuntu und CentOS) weisen Unterschiede in der Rootfs-Schicht auf, was die Unterschiede in den Distributionsversionen widerspiegelt.
Wenn herkömmliches Linux Bootfs lädt, werden die Rootfs zunächst auf schreibgeschützt gesetzt und dann nach dem Selbsttest des Systems von schreibgeschützt auf schreibgeschützt geändert. Anschließend können wir Lese- und Schreibvorgänge durchführen Operationen auf dem Rootfs.
Aber Docker ändert den Schreibschutz von Rootfs nicht in Lese-Schreibzugriff, nachdem der Bootfs-Selbsttest abgeschlossen ist. Stattdessen wird Union Mount (ein Mount-Mechanismus von UnionFS) verwendet, um andere Ebenen im Image in die vorherige zu laden 1. Oberhalb der schreibgeschützten Rootfs-Ebene ist jede Ebene eine Rootfs-Struktur und schreibgeschützt. Daher können wir die Ebene in einem vorhandenen Bild nicht ändern!
Nur wenn wir einen Container erstellen, also das Docker-Image instanziieren, weist das System ein leeres Lese-/Schreib-Rootfs zu, um die von uns vorgenommenen Änderungen zu speichern. Die von einer Ebene gespeicherten Änderungen sind inkrementell, genau wie bei Git.
Zusammenfassend ist Image eigentlich ein Dateisystem, das zusammen mit dem Kernel des Hosts eine virtuelle Linux-Umgebung für das Programm bereitstellt. Beim Starten eines Docker-Containers erstellt Docker basierend auf dem Image eine virtuelle Linux-Umgebung für den Container.
Empfohlenes Lernen: „Docker-Video-Tutorial“
Das obige ist der detaillierte Inhalt vonWas bedeutet Bild in Docker?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!