Codebeispiele für allgemeine Vorgänge bei der Docker-Image-Verwaltung

Codebeispiele für allgemeine Vorgänge bei der Docker-Image-Verwaltung

Spiegelung ist auch eine der Kernkomponenten von Docker. Spiegelung ist die Grundlage für den Containerbetrieb, und Container sind die Form der Spiegelung nach dem Betrieb. Im Allgemeinen ist ein Image eine schreibgeschützte Datei, die die Umgebung und den Code enthält, die zum Ausführen eines Programms erforderlich sind. Es verwendet ein mehrschichtiges Dateisystem, um Änderungen in jeder Schicht in Form einer Lese-/Schreibschicht zur ursprünglichen schreibgeschützten Datei hinzuzufügen.

Die Beziehung zwischen Bildern und Containern

Der vorherige Artikel hat den Lesern die Verwendung von Containern vorgestellt. Aufmerksame Leser haben möglicherweise festgestellt, dass Sie beim Starten oder Erstellen eines Containers einen Spiegelnamen oder eine Spiegel-ID angeben müssen. Tatsächlich ist die Rolle, die der Spiegel zu diesem Zeitpunkt spielt, die Vorlage des Containers. Verschiedene Spiegel können unterschiedliche Container erstellen. Der folgende Befehl:

docker run -itd --name nginx nginx

Das letzte „nginx“ im Befehl gibt die zum Erstellen des Containers erforderliche Vorlage an.

Gespiegelte Architektur

Die unterste Ebene des Images ist ein Boot-Dateisystem-Image (BootFS). Die obere Ebene von BootFS wird als Root-Image bezeichnet. Im Allgemeinen ist das Root-Image ein Betriebssystem wie Ubuntu, CentOS usw. Das Image des Benutzers muss auf dem Root-Image erstellt werden. Auf dem Root-Image kann der Benutzer verschiedene andere Images erstellen. Aus der obigen Einführung können die Leser erkennen, dass das Wesentliche eines Spiegels eigentlich eine Sammlung von Dateien ist und dass die schichtweise Struktur etwas mit Git gemeinsam hat.

Copy-on-Write-Mechanismus zum Spiegeln

Wenn Sie über den Befehl „docker run“ einen Container angeben, um ein Image zu erstellen, erstellen Sie tatsächlich eine leere, lesbare und beschreibbare Dateisystemhierarchie auf dem Image. Sie können diese Dateisystemhierarchie als temporäres Image behandeln, und das im Befehl referenzierte Vorlagenimage kann als übergeordnetes Image bezeichnet werden. Der Inhalt des übergeordneten Images wird im schreibgeschützten Modus bereitgestellt. Der Container liest den Inhalt des freigegebenen übergeordneten Images. Alle vom Benutzer vorgenommenen Änderungen befinden sich im Dateisystem und haben keine Auswirkungen auf das übergeordnete Image. Natürlich können Benutzer auch andere Mittel verwenden, um die Änderungen im übergeordneten Image dauerhaft zu machen. Diese werden wir später ausführlich vorstellen.

Überprüfen

Docker-Bilder

Benutzer können alle lokalen Bilder über den Befehl „Docker Images“ anzeigen


Hier gibt es fünf Parameter:

1.REPOSITORY

Warehouse-Name. Warehouses werden im Allgemeinen zum Speichern von Bildern desselben Typs verwendet. Der Name des Warehouse wird von seinem Ersteller angegeben. Wenn nicht angegeben, dann . Generell gibt es für Lagernamen folgende unterschiedliche Formen:

  • [namespace\ubuntu]: Dieser Repository-Name besteht aus dem Namespace und dem eigentlichen Repository-Namen, getrennt durch \. Wenn ein Entwickler einen Benutzer auf Docker Hub erstellt, ist der Benutzername der Standard-Namespace. Dieser Namespace wird verwendet, um verschiedene auf Docker Hub registrierte Benutzer oder Organisationen zu unterscheiden (ähnlich der Rolle von Benutzernamen auf GitHub). Wenn Leser ihre eigenen Bilder auf Docker Hub hochladen möchten, damit andere sie verwenden können, müssen sie einen Namespace angeben.
  • [ubuntu]: Diese Art von Repository-Name hat nur einen Repository-Namen. Bei dieser Art von Repository-Name ohne Namespace kann davon ausgegangen werden, dass er zum Namespace der obersten Ebene gehört. Das Repository in diesem Bereich wird nur für offizielle Images verwendet und von Docker-Beamten verwaltet, ist jedoch im Allgemeinen für die Entwicklung und Wartung an Dritte autorisiert. Natürlich können Benutzer diese Benennungsmethode auch für Bilder verwenden, die sie selbst erstellt haben. Diese können dann jedoch nicht zum Teilen auf Docker Hub hochgeladen werden.
  • [hub.c.163.com/library/nginx]: Diese Methode zur Angabe des URL-Pfads wird im Allgemeinen zum Benennen von Images verwendet, die sich nicht auf dem Docker Hub befinden. Beispielsweise können ein von einem Drittanbieter bereitgestelltes Image oder ein vom Entwickler selbst erstelltes Image Center alle auf diese Weise benannt werden.

2.TAG wird verwendet, um verschiedene Bilder desselben Repositorys zu unterscheiden. Der Standardwert ist latest

3.IMAGE ID ist eine eindeutige Kennung für das Bild

4.CREATED Die Erstellungszeit des Bildes

5.SIZE gibt die Bildgröße an

Verwenden Sie den Befehl „docker images“, um alle lokalen Images anzuzeigen. Wenn zu viele Images vorhanden sind, können Sie sie mit Platzhaltern wie folgt abgleichen:


Wenn Sie detaillierte Informationen zum Image anzeigen möchten, können Sie auch den oben genannten Befehl „docker inspect“ verwenden, um den Download anzuzeigen.

Wenn der Benutzer den Befehl „docker run“ ausführt, wird das entsprechende Image automatisch vom Docker Hub heruntergeladen. Dies wird nicht erneut demonstriert. Entwickler können auch den Suchbefehl verwenden, um wie folgt nach Images auf dem Docker Hub zu suchen, die die Anforderungen erfüllen:


In:

  • NAME: gibt den Namen des Bildes an
  • BESCHREIBUNG: Eine kurze Beschreibung des Bildes.
  • STERNE: Gibt die Bewertung des Bildes durch den Benutzer an. Je höher die Bewertung, desto sicherer ist die Verwendung.
  • OFFIZIELL: Ist es ein offizielles Bild?
  • AUTOMATED: Gibt an, ob der automatische Build verwendet wird

Die Downloadgeschwindigkeit nach der Ausführung des Docker-Run-Befehls ist etwas langsam. Wenn Sie möchten, dass der Befehl schnell ausgeführt wird, können Sie den Docker-Pull-Befehl verwenden, um das Image vor der Ausführung herunterzuladen und dann auszuführen.


Führen Sie den Befehl wie folgt aus:

löschen

Das Image kann mit dem Befehl docker rmi gelöscht werden. Der Parameter ist die Image-ID oder der Image-Name. Es können mehrere Parameter vorhanden sein, die durch Leerzeichen getrennt sind, wie folgt:

Manchmal können Sie ein Image nicht löschen. Meistens liegt das daran, dass das Image von einem Container abhängig ist. In diesem Fall müssen Sie zuerst den Container löschen und können dann das Image löschen.

Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird.

Das könnte Sie auch interessieren:
  • .NETCore Docker implementiert Containerisierung und privates Image-Repository-Management
  • Verwaltung privater Docker-Repositorys und Löschen von Bildern in lokalen Repositorys
  • Analyse der Docker-Methode zum Erstellen lokaler Images
  • Beschreiben Sie kurz, wie Sie das Tomcat-Image installieren und das Webprojekt in Docker bereitstellen
  • Die einfachste Implementierung eines Docker-Images zum Verpacken von Spring Boot
  • So generieren Sie ein Docker-Image und schließen die Containerbereitstellung in einem Spring-Boot-Projekt ab
  • So stellen Sie ein Vue-Projekt mit Docker-Image + nginx bereit
  • Detaillierte Erläuterung des neuesten IDEA-Prozesses zum schnellen Bereitstellen und Ausführen von Docker-Images
  • Detaillierte Erläuterung der Verwendung des DockerHub-Image-Repository

<<:  Detailliertes Tutorial zur Installation von mysql8.0.22 auf Alibaba Cloud centos7

>>:  JavaScript realisiert den Effekt der mobilen Modalbox

Artikel empfehlen

Zusammenfassung der Konstruktor- und Superwissenspunkte in React-Komponenten

1. Einige Tipps zu mit class in react deklarierte...

Der Unterschied zwischen GB2312, GBK und UTF-8 in der Webseitenkodierung

Zunächst müssen wir verstehen, dass GB2312, GBK u...

Zusammenfassung einiger Tipps zum MySQL-Indexwissen

Inhaltsverzeichnis 1. Grundkenntnisse der Indizie...

50 superpraktische Tools für Webdesigner

Webdesigner zu sein ist nicht einfach. Sie müssen...

Schritte zur Überprüfung der MySQL InnoDB-Row_ID-Grenzwertüberschreitung

Hintergrund Ich habe mit meinen Klassenkameraden ...

MySql8 WITH RECURSIVE rekursive Abfrage Eltern-Kind-Sammlungsmethode

Hintergrund Wenn Sie eine Funktion entwickeln, di...

Installieren Sie Centos7 mithilfe einer virtuellen Hyper-V-Maschine

Inhaltsverzeichnis einführen Vorbereiten Systemab...

Einführung in MySQL-Rollenfunktionen

Inhaltsverzeichnis Vorwort: 1. Einführung in die ...

Elegantere Verarbeitung von Datumsangaben in JavaScript basierend auf Day.js

Inhaltsverzeichnis Warum day.js verwenden? Moment...

Implementierungsprozess des Lupeneffekts im Javascript-Beispielprojekt

Inhaltsverzeichnis Vorwort Fall: Nachahmung des L...

Was ist ein MySQL-Tablespace?

Das Thema, das ich heute mit Ihnen teilen möchte,...

Zusammenfassung der React-Grundlagen

Inhaltsverzeichnis Vorwort Start React-Lebenszykl...