Heim > Betrieb und Instandhaltung > Docker > Ist die Transportschichtung von Docker-Images

Ist die Transportschichtung von Docker-Images

WBOY
Freigeben: 2022-08-17 16:33:49
Original
2892 Leute haben es durchsucht

Docker-Bildübertragungsschichtung; Da das Docker-Image in Schichten aufgebaut ist, wird der Prozess der Bilderstellung zerlegt, die Gemeinsamkeiten mit anderen Diensten ermittelt und daraus ein Basisbild erstellt neue Schicht. Dadurch wird Speicherplatz gespart, sodass die Übertragung von Docker-Images mehrschichtig erfolgt.

Ist die Transportschichtung von Docker-Images

Die Betriebsumgebung dieses Tutorials: Linux7.3-System, Docker-Version 19.03, Dell G3-Computer.

Übertragungsschichtung von Docker-Images

Ein Image ist ein leichtes, ausführbares unabhängiges Softwarepaket, das alles enthält, was zum Ausführen einer bestimmten Software erforderlich ist. Wir packen die Anwendung und Konfiguration in eine geformte, lieferbare und einsetzbare Betriebsumgebung, einschließlich Code, zur Laufzeit erforderlicher Bibliotheken, Umgebungsvariablen und Konfigurationsdateien usw. Dieses große Paket der Betriebsumgebung ist die Image-Image-Datei.

Docker-Container-Instanzen können nur über Bilddateien generiert werden.

Docker-Image-Layering

Bedeutung: Zerlegen Sie den Prozess der Image-Erstellung, finden Sie Gemeinsamkeiten mit anderen Diensten und formulieren Sie daraus ein Basis-Image.

Vorteile: Speicherplatz sparen,

Wenn beim Hoch-/Herunterladen von Bildern das Basisbild bereits vorhanden ist, wird es nicht wiederholt hoch- und heruntergeladen, wodurch die Upload- und Download-Geschwindigkeit verbessert wird.

Nachteile: Wenn das Basisbild geändert wird, werden alle Unterbilder gelöscht -Spiegel werden sich ändern.

Docker-Image-Layering-Mechanismus

Docker-Images werden in Ebenen erstellt. Wenn wir mehr über Docker erfahren, werden wir verstehen, dass jede Spezifikation in der Docker-Datei eine neue Ebene erstellt. Nehmen Sie als Beispiel die folgenden Dockerfile-Anweisungen:

FROM ubuntu:20.04#基础镜像
COPY . /app#复制文件
RUN make /app#编译文件
CMD python /app/app.py#入口文件
Nach dem Login kopieren

Die obigen vier Anweisungen zeichnen nur die von dieser Ebene auf jeder Ebene vorgenommenen Änderungen auf, und diese Ebenen sind schreibgeschützte Ebenen. Beim Starten eines Containers befiehlt Docker, oben eine Lese-/Schreibebene hinzuzufügen. Alle im Container vorgenommenen Änderungen (Schreiben von Protokollen, Ändern, Löschen von Dateien usw.) werden im Allgemeinen in der Lese-/Schreibebene gespeichert wird wie folgt als Containerschicht bezeichnet Wie im Bild gezeigt:

Ist die Transportschichtung von Docker-Images

Tatsächlich besteht der Hauptunterschied zwischen einem Container und einem Bild darin, dass der Container eine Lese- und Schreibebene der obersten Ebene hinzufügt. Alle Änderungen am Container erfolgen auf dieser Ebene und das Bild wird nicht geändert, was der zuvor erwähnten COW-Technologie (Copy-on-Write) entspricht. Wenn der Container eine Datei lesen muss, kann er sie direkt von der unteren schreibgeschützten Ebene lesen. Wenn eine Datei geändert werden muss, wird die Datei zur Änderung in die obere schreibgeschützte Ebene und in die schreibgeschützte Ebene kopiert bleibt unverändert.

Jeder Container verfügt über eine eigene Lese-/Schreibebene, sodass mehrere Container dasselbe Bild verwenden können. Wenn ein Container gelöscht wird, wird außerdem auch die entsprechende Lese-/Schreibebene gelöscht Für Daten können Sie Docker-Volumes verwenden.

Empfohlenes Lernen: „Docker-Video-Tutorial

Das obige ist der detaillierte Inhalt vonIst die Transportschichtung von Docker-Images. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage