Was ist ein Spiegel?Ein Bild kann als Dateisystem betrachtet werden, das aus mehreren Bildebenen besteht (implementiert durch das Dateivereinigungssystem UnionFS und AUFS). Eine Bildebene kann auch einfach als Basisbild verstanden werden, und jede Bildebene wird in Form von Zeigern überlagert. Was ist ein Container?Die Definition eines Containers ist fast identisch mit der eines Bildes und stellt ebenfalls eine einheitliche Ansicht eines Stapels von Ebenen dar. Der einzige Unterschied besteht darin, dass die oberste Ebene des Containers lesbar und beschreibbar ist. Wichtige Punkte: Container = Image + Lese-/Schreibebene, und in der Containerdefinition wird nicht erwähnt, ob der Container ausgeführt werden soll. Lassen Sie uns heute die Grundsätze und zugrunde liegenden Prinzipien beiseite legen. Eine einfache Erklärung des Unterschieds zwischen Containern und Images in Docker. Für Anfänger kann der Einstieg in Docker, insbesondere in Images und Containern, etwas verwirrend sein. Tatsächlich können wir verstehen, dass die Beziehung zwischen Bildern und Containern eins-zu-viele ist. Die folgende Abbildung zeigt eine fehlerhafte Demonstration. Warum ist sie falsch? Denn man kann zwar drei Container mit einem Image starten, aber die Namen dieser drei Container dürfen nicht gleich sein Richtiges Beispiel (einige Leute fragen, was der Unterschied zwischen diesem und dem obigen Bild ist. Im obigen Bild sind die Namen gleich: Container = Container = Container. Hier sind die Namen Container a != Container b != Container c ) So können wir drei Container über ein Image laufen lassen. Das Image wird von anderen im Image Warehouse gepackt und wir müssen es nur noch herunterladen. Allerdings müssen wir beim Download des Images die Versionsnummer angeben. Genau wie beim Herunterladen eines JDK wird auf der offiziellen Website standardmäßig die neueste Version angezeigt. Wenn wir eine ältere Version herunterladen möchten, müssen wir die entsprechende Version eingeben. Wie läuft ein Image als Container? Beispielsweise laden wir für msql ein MySQL-Image herunter. Docker-Pull MySQL Führen Sie das Image aus, um die mysql_zhangsan-Datenbank zu generieren (eine Datenbank speziell für Zhang San). [root@localhost ~]# docker run ‐p 3306:3306 ‐‐name mysql_zhangsan ‐e MYSQL_ROOT_PASSWORD=123456 ‐d mysql ad10e4bc5c6a0f61cbad43898de71d366117d120e39db651844c0e73863b9434 -p 3306:3306 : Port-Zuordnung --name mysql_zhangsan: Nennen Sie diesen Container mysql_zhangsan (dieser Name ist eindeutig und kann nicht wiederholt werden) -e MYSQL_ROOT_PASSWORD=123456: Das Konto zum Anmelden bei dieser Datenbank ist ROOT und das Passwort ist 123456 -d wird basierend auf dem MySQL-Image erstellt, das wir gerade heruntergeladen haben. Führen Sie das Image aus, um die mysql_lisi-Datenbank zu generieren (eine Datenbank speziell für Li Si). [root@localhost ~]# docker run ‐p 3307:3307 ‐‐name mysql_lisi ‐e MYSQL_ROOT_PASSWORD=123456 ‐d mysql ms10e4bcfdsf0f61cbad43898de71d366117d120dfs9db651844c0e73863b9968 -p 3307:3307: Portzuordnung (Port 3306 kann nicht verwendet werden, da er von der Datenbank von Zhang San belegt ist) --name mysql_lisi: Nennen Sie diesen Container mysql_lisi (dieser Name ist eindeutig und kann nicht mit dem obigen mysql_zhangsan wiederholt werden) -e MYSQL_ROOT_PASSWORD=123456: Das Konto zum Anmelden bei dieser Datenbank ist ebenfalls ROOT und das Passwort ist ebenfalls 123456 -d wird basierend auf dem MySQL-Image erstellt, das wir gerade heruntergeladen haben. An diesem Punkt haben wir erfolgreich zwei verschiedene Container über ein Image erstellt. Auf diese Weise können wir zwei MySQL auf unserem Computer ausführen. Wenn wir einen anderen MySQL-Container öffnen möchten, können wir ihn, solange Port und Name unterschiedlich sind, trotzdem basierend auf dem abgerufenen MySQL-Image erstellen. Oben finden Sie detaillierte Informationen zum Unterschied zwischen Containern und Images in Docker. Weitere Informationen zum Unterschied zwischen Docker-Containern und Images finden Sie in den anderen verwandten Artikeln auf 123WORDPRESS.COM! Das könnte Sie auch interessieren:
|
<<: 50 wunderschöne FLASH-Website-Designbeispiele
Das <canvas>-Element ist für clientseitige ...
Einführung in das Layout des HTML-Seitenquellcode...
Inhaltsverzeichnis Einführung Schritt 1 Schritt 2...
In diesem Artikel finden Sie das grafische Tutori...
In diesem Artikel wird hauptsächlich die einfache...
Kommen wir ohne weitere Umschweife direkt zum Cod...
In diesem Artikel wird hauptsächlich die Bereitst...
Ziel dieses Artikels ist es, die Beziehung zwisch...
Vorwort Kürzlich wurde unser Server von Hackern a...
<br />Die offizielle Version der Baidu-Enzyk...
Prozessstrukturdiagramm Nginx ist eine Multiproze...
Derzeit habe ich ein Projekt erstellt, die Schnitt...
Löschen einer einzelnen Tabelle: LÖSCHEN AUS Tabe...
Lösung Funktion mergeImgs(Liste) { const imgDom =...
Der Befehl „Explain“ ist die primäre Möglichkeit,...