Heim Betrieb und Instandhaltung Docker Was tun, wenn das übergeordnete Docker-Image nicht gelöscht werden kann (zwei Methoden)

Was tun, wenn das übergeordnete Docker-Image nicht gelöscht werden kann (zwei Methoden)

Apr 18, 2023 pm 03:21 PM

Docker ist ein sehr beliebtes Open-Source-Tool zum Erstellen, Bereitstellen und Ausführen von Anwendungen. Im Vergleich zu virtuellen Maschinen bietet Docker eine leichtere Virtualisierung, sodass Anwendungen schnell bereitgestellt und auf jedem System ausgeführt werden können, das Docker unterstützt.

In Docker ist ein Image ein ausführbarer Docker-Container, der alle Abhängigkeiten und Konfigurationen enthält, die für die Ausführung einer Anwendung erforderlich sind. Docker-Container können auf Basis vorhandener Images erstellt werden. Diese Konstruktionsmethode wird als Schichtkonstruktion bezeichnet. Jede Ebene stellt eine bestimmte Konfiguration oder Abhängigkeit dar.

Das Funktionsprinzip des Docker-Containers ähnelt der Baumstruktur in der Datenstruktur. Jedes Bild ist ein Knoten, und zwischen den Ebenen wird eine Eltern-Kind-Beziehung gebildet. Dies wirft die Frage auf, ob die untergeordneten Bilder unbrauchbar werden, wenn wir sie löschen.

Die Antwort ist ja. Da der untergeordnete Spiegel von bestimmten Konfigurationen oder Abhängigkeiten im übergeordneten Image abhängt, funktioniert der untergeordnete Spiegel nicht ordnungsgemäß, wenn das übergeordnete Image gelöscht wird.

Das Dateisystem auf jeder Ebene im Docker-Container ist schreibgeschützt. Wenn also ein Image in Docker ausgeführt wird, wird eine Lese-/Schreibebene erstellt, die es dem Container ermöglicht, das Dateisystem im Container zu ändern. Wenn innerhalb des Containers Änderungen vorgenommen werden, verwendet Docker ein gemeinsames Dateisystem, um die Lese-/Schreibebene und die Bildebene zusammenzuführen, sodass die geänderte Datei in der Lese-/Schreibebene aktualisiert wird, ohne die ursprüngliche Bildebene zu beeinträchtigen.

Wenn ein Container gestoppt und gelöscht wird, wird auch seine Lese-/Schreibebene gelöscht, die Spiegelebene wird jedoch nicht gelöscht. Wenn also ein Bild als übergeordnetes Bild eines anderen Bildes dient, muss dessen Bildebene immer vorhanden sein, andernfalls ist das untergeordnete Bild nicht verwendbar.

Was sollen wir also tun, wenn wir einen Spiegel löschen, aber die Verwendung seiner Unterspiegel nicht beeinträchtigen möchten? Hier gibt es zwei Lösungen:

  1. Ändern Sie die Abhängigkeiten und Konfiguration in der Docker-Datei.

Wenn ein Image abhängig von anderen Images erstellt wird, können wir das Problem, dass das übergeordnete Image nicht gelöst werden kann, durch Ändern der Abhängigkeiten und Konfiguration in lösen die Frage zum Löschen von Docker-Dateien. Sie können die COPY- oder ADD-Anweisungen in der Docker-Datei verwenden, um die erforderlichen Dateien oder Verzeichnisse in das Image zu kopieren, anstatt sie von anderen Images abzurufen. Auf diese Weise besteht keine Notwendigkeit, sich auf andere Image-Builds zu verlassen, und das Löschen des übergeordneten Images hat keine Auswirkungen darauf.

  1. Spiegelexport und -import verwenden

Wenn ein Spiegel als übergeordneter Spiegel anderer Spiegel verwendet wurde, wir die Verwendung seiner untergeordneten Spiegel jedoch nicht beeinträchtigen möchten, können wir das Problem mithilfe des Spiegelexports und -imports lösen das Problem. Zuerst müssen wir das Image exportieren:

docker save <image-name>:<tag> > /path/to/save/image.tar
Nach dem Login kopieren

Anschließend können wir das Image mit dem Docker-Load-Befehl auf anderen Systemen importieren, damit das Image weiterhin verwendet werden kann.

docker load < /path/to/save/image.tar
Nach dem Login kopieren

Auf diese Weise können wir das Bild zur Verwendung bei Bedarf archivieren.

Zusammenfassung:

In Docker ist die Abhängigkeit des Bildes sehr wichtig, und die Existenz des übergeordneten Bildes ist entscheidend für die Verwendung des untergeordneten Bildes. Wenn wir ein übergeordnetes Bild löschen möchten, müssen wir dessen Auswirkungen auf andere Bilder berücksichtigen. Beim Erstellen eines Docker-Images können wir die Anweisungen COPY oder ADD verwenden, um die erforderlichen Dateien oder Verzeichnisse in das Image zu kopieren, um nicht auf das übergeordnete Image angewiesen zu sein. Wenn wir das Bild migrieren müssen, können wir die Bildexport- und -importmethoden verwenden, um die Verwendung in anderen Systemen zu erleichtern.

Das obige ist der detaillierte Inhalt vonWas tun, wenn das übergeordnete Docker-Image nicht gelöscht werden kann (zwei Methoden). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

Java-Tutorial
1657
14
PHP-Tutorial
1257
29
C#-Tutorial
1231
24
So verlassen Sie den Container mit Docker So verlassen Sie den Container mit Docker Apr 15, 2025 pm 12:15 PM

Vier Möglichkeiten zum Beenden von Docker Container: Verwenden Sie Strg D im Befehl Container Terminal ENGEBOT IM Container Terminal verwenden Sie Docker Stop & lt; container_name & gt; Befehl verwenden Sie Docker Kill & lt; container_name & gt; Befehl im Host -Terminal (Force Exit)

So kopieren Sie Dateien in Docker nach außen So kopieren Sie Dateien in Docker nach außen Apr 15, 2025 pm 12:12 PM

Methoden zum Kopieren von Dateien in externen Hosts in Docker: Verwenden Sie den Befehl Docker CP: Docker CP [Optionen] & lt; Containerpfad & gt; & lt; Host -Pfad & gt;. Verwenden von Datenvolumina: Erstellen Sie ein Verzeichnis auf dem Host und verwenden Sie den Parameter -V, um das Verzeichnis in den Container zu montieren, um den Container zu erstellen, um eine bidirektionale Dateisynchronisation zu erreichen.

So starten Sie Docker neu So starten Sie Docker neu Apr 15, 2025 pm 12:06 PM

So starten Sie den Docker -Container neu: Holen Sie sich die Container -ID (Docker PS); Stop den Container (Docker Stop & lt; Container_id & gt;); Starten Sie den Container (Docker start & lt; container_id & gt;); Stellen Sie sicher, dass der Neustart erfolgreich ist (Docker PS). Andere Methoden: Docker Compose (Docker-Compose Neustart) oder Docker-API (siehe Docker-Dokumentation).

So überprüfen Sie den Namen des Docker -Containers So überprüfen Sie den Namen des Docker -Containers Apr 15, 2025 pm 12:21 PM

Sie können den Namen des Docker -Containers abfragen, indem Sie den Schritten folgen: Alle Container auflisten (Docker PS). Filtern Sie die Containerliste (unter Verwendung des GREP -Befehls). Ruft den Containernamen ab (befindet sich in der Spalte "Namen").

So starten Sie einen Container von Docker So starten Sie einen Container von Docker Apr 15, 2025 pm 12:27 PM

Startschritte des Docker -Containers: Ziehen Sie das Containerbild: Führen Sie "Docker Pull [Mirror Name]" aus. Erstellen eines Containers: Verwenden Sie "Docker erstellen [Optionen] [Spiegelname] [Befehle und Parameter]". Starten Sie den Container: Führen Sie "Docker Start [Container Name oder ID]" aus. Containerstatus überprüfen: Stellen Sie sicher, dass der Container mit "Docker PS" ausgeführt wird.

So starten Sie MySQL von Docker So starten Sie MySQL von Docker Apr 15, 2025 pm 12:09 PM

Der Prozess des Startens von MySQL in Docker besteht aus den folgenden Schritten: Ziehen Sie das MySQL -Image zum Erstellen und Starten des Containers an, setzen

So aktualisieren Sie das Bild von Docker So aktualisieren Sie das Bild von Docker Apr 15, 2025 pm 12:03 PM

Die Schritte zur Aktualisierung eines Docker -Images sind wie folgt: Ziehen Sie das neueste Bild -Tag. Neues Bild Löschen Sie das alte Bild für ein bestimmtes Tag (optional) den Container neu (falls erforderlich) neu starten Sie neu (falls erforderlich).

So erstellen Sie Container für Docker So erstellen Sie Container für Docker Apr 15, 2025 pm 12:18 PM

Erstellen Sie einen Container in Docker: 1. Ziehen Sie das Bild: Docker Pull [Spiegelname] 2. Erstellen Sie einen Container: Docker Ausführen [Optionen] [Spiegelname] [Befehl] 3. Starten Sie den Container: Docker Start [Containername]

See all articles