Schritte zum Wiederherstellen von Code aus einem Docker-Container-Image

Schritte zum Wiederherstellen von Code aus einem Docker-Container-Image

Manchmal geht der Code verloren und Sie müssen den erforderlichen Code aus dem im Container ausgeführten Image wiederherstellen. Zu diesem Zeitpunkt müssen Sie nur einige einfache Vorgänge auf dem Server ausführen, auf dem der Container ausgeführt wird, um den beim Verpacken des Images verwendeten Code zu extrahieren.

Alle Container anzeigen:

Docker-Container ls -a

Geben Sie den angegebenen Container entsprechend der Container-ID ein:

docker exec -ti id /bin/bash

Kopieren Sie das Verzeichnis im Container in den vom Dienst angegebenen Ordner:

Docker-Container-CP-ID: /usr/local/tomcat/webapps/province-admin /home/test/province-admin

Nach den oben genannten 3 Schritten wurde der Code im Container in das angegebene Verzeichnis des Servers extrahiert. Sie können den erforderlichen Code anzeigen, indem Sie den Code vom Server auf den lokalen Computer herunterladen.

Ergänzung: Sicherung und Wiederherstellung von Docker-Datenvolumen-Containern sind super detailliert! Xiaobai kann das auch! ! !

Im Alltag ordnen wir das Verzeichnis zwischen dem Container und der lokalen physischen Maschine zu und speichern es direkt lokal. Dann müssen wir nur regelmäßig die lokale Festplatte sichern. Aber wenn es keine solche Zuordnung gibt, wie sollen wir dann mit Sicherung und Wiederherstellung umgehen?

Zuerst erstellen wir ein Datenvolumen, das gesichert werden muss.

docker run -itd -v /opt/zz --name c1 centos /bin/bash

-itd wird im interaktiven Modus ausgeführt, d wird im Hintergrund ausgeführt

-v gibt das Datenvolumen im Container an. Wenn das angegebene Datenvolumen nicht vorhanden ist, wird es automatisch erstellt.

–name Passen Sie den Namen an

/bin/bash Interaktive Befehle werden mit /bin/bash ausgeführt

Um die Backup-Funktion des Datenträgercontainers zu überprüfen, erstellen Sie eine c11-Datei im gemounteten /opt/zz-Verzeichnis und schreiben Sie den Inhalt „woda“.

[root@160e0646396d zz]# berühren c11.txt
[root@160e0646396d zz]# echo "woda" > c11.txt 
[root@160e0646396d zz]# cat c11.txt
woda

Um dann den Volume-Container zu sichern, markieren Sie mit --volumes-from das zu sichernde Volume und mounten Sie das aktuelle Verzeichnis vom Host in das /v3-Verzeichnis des Containers.

$(pwd) ist eine von Docker unterstützte Methode zum Angeben des aktuellen Verzeichnisses. Wer die grundlegenden Befehle von Linux versteht, wird feststellen, dass der Befehl pwd zum Anzeigen des aktuellen Verzeichnisses in Linux verwendet wird.

Nachdem der Container gestartet wurde, ist die im aktuellen Verzeichnis generierte Datei c23.tar die Sicherungsdatei des Container-Volumes /opt/zz.

Auf diese Weise werden die Daten im Datenträgercontainer gesichert.

Der gesamte Übungsablauf läuft wie folgt ab:

[root@client ~]# docker run --volumes-from c1 -v $(pwd):/v3 centos tar cvf /v3/c23.tar /opt/zz
tar: Entfernen führender „/“ aus Mitgliedsnamen
/opt/zz/
/opt/zz/c11.txt

Schließlich können wir den Inhalt des Datenvolumens des Containers sehen, den wir sichern müssen, /opt/zz/c11.txt

–volumes-from <Container>: Verbindung zum Container herstellen, um Daten zu sichern

-v $(pwd):/v3: Mounten Sie den aktuellen Pfad zum Container Centos, und die Daten werden in diesem Pfad gesichert

centos: Sehr kleines Bild

tar cvf /v3/c23.tar /opt/zz: Packen Sie die Dateien im Pfad /opt/zz in c23.tar

Zweite Erholung

Der ultimative Zweck einer Sicherung besteht darin, eine Wiederherstellung durchführen zu können, sonst ist die Sicherung sinnlos. Die Wiederherstellung einer Docker-Sicherungskopie ist ebenfalls sehr einfach, es sind nur zwei Schritte erforderlich.

Erstellen Sie zunächst einen Container /opt/x2 mit einem leeren Datenvolumen.

docker run -itd -v /opt/x2 --name c3 centos /bin/bash
docker run -itd -v /opt/x2 --name c3 centos /bin/bash

Erstellen Sie dann einen weiteren Container, mounten Sie das Datenvolume im Containervolume data1 und verwenden Sie untar, um die Sicherungsdatei in das gemountete Containervolume zu dekomprimieren.

docker run --volumes-from c3 -v $(pwd):/v3 centos tar xvf /v3/c23.tar

Zu diesem Zeitpunkt wurden die Daten des zuvor gesicherten Datenvolumencontainers im Container /opt/x2 wiederhergestellt.

Um die wiederhergestellten Daten anzuzeigen und zu überprüfen, können wir einen anderen Container starten und das Containervolume /opt/x2 mounten, um sie anzuzeigen.

Der gesamte Übungsablauf läuft wie folgt ab:

[root@client ~]# docker run --volumes-from c3 -v $(pwd):/v3 centos tar xvf /v3/c23.tar
opt/zz/
opt/zz/c11.txt

Schließlich können wir sehen, dass die Datei c11.txt, die wir zuvor gesichert haben, jetzt auf dem Datenvolumen im Container c3 wiederhergestellt wurde.

Das Obige ist meine persönliche Erfahrung. Ich hoffe, es kann Ihnen als Referenz dienen. Ich hoffe auch, dass Sie 123WORDPRESS.COM unterstützen werden. Sollten dennoch Fehler oder unvollständige Überlegungen vorliegen, freue ich mich über eine Korrektur.

Das könnte Sie auch interessieren:
  • Detaillierte Erläuterung des Docker-Datensicherungs- und Wiederherstellungsprozesses
  • Detaillierte Erläuterung der Sicherung und Wiederherstellung von PSSQL-Datenbanken in Docker
  • Detaillierte Erläuterung der Sicherung, Wiederherstellung und Migration von Containern in Docker
  • Detaillierte Erläuterung des Docker Private Warehouse-Wiederherstellungsbeispiels
  • So stellen Sie Docker-Containerdaten wieder her

<<:  Detaillierte Beschreibung des MySQL-Ersetzens in der Verwendung

>>:  Beispielcode für CSS, um horizontale Linien auf beiden Seiten des Textes zu erzielen

Artikel empfehlen

So halten Sie eine lange Verbindung aufrecht, wenn Sie den Nginx-Reverse-Proxy verwenden

· 【Szenenbeschreibung】 Nach HTTP1.1 unterstützt d...

Das vergessene Button-Tag

Hinweis: Dieser Artikel wurde von jemand anderem ü...

Mehr als 100 Zeilen Code zur Implementierung von React Drag Hooks

Vorwort Der Quellcode umfasst insgesamt nur mehr ...

Detaillierte Erklärung inkompatibler Änderungen von Komponenten in vue3

Inhaltsverzeichnis Funktionale Komponenten So sch...

Installieren Sie Zookeeper unter Docker (Standalone und Cluster).

Nachdem wir Docker gestartet haben, schauen wir u...

Code zum Anzeigen des Inhalts eines TXT-Buchs auf einer Webseite

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML ...

So verwenden Sie die JSZip-Komprimierung in CocosCreator

CocosCreator-Version: 2.4.2 Praktische Projektanw...

Natives JS zum Erzielen eines Puzzle-Effekts

In diesem Artikel wird der spezifische Code von n...

vue_drf implementiert SMS-Bestätigungscode

Inhaltsverzeichnis 1. Nachfrage 1. Nachfrage 2. S...

MySQL-Deduplizierungsmethoden

MySQL-Deduplizierungsmethoden 【Anfänger】 Es gibt ...

TinyEditor ist ein einfacher und benutzerfreundlicher HTML-WYSIWYG-Editor

Vor einigen Tagen habe ich Ihnen einen inländisch...