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

Docker-Pull-Image und Tag-Vorgang Pull | Tag

Ich habe den Quellcode des Fabric-Projekts noch e...

MySQL-Optimierungsstrategie (empfohlen)

Zusammenfassend: 1. Berücksichtigen Sie die Leist...

So installieren Sie ElasticSearch auf Docker in einem Artikel

Inhaltsverzeichnis Vorwort 1. Docker installieren...

Detaillierter Prozess der Installation von nginx1.9.1 auf centos8

1.17.9 Wirklich leckerer Nginx-Download-Adresse: ...

Detaillierte Erklärung der Lösung für den 404-Fehler von Tomcat

Das 404-Problem tritt im Tomcat-Test auf. Die Pro...

Probleme und Erfahrungen bei der Webentwicklung

<br />Nachfolgend sind die Probleme aufgefüh...

Grafisches Tutorial zur Installation von MySQL 8.0.12

MySQL8.0.12-Installationstutorial, mit allen teil...

So ändern Sie die Gruppe, zu der ein Benutzer in Linux gehört

Ändern Sie die Gruppe, zu der ein Benutzer in Lin...

Detaillierte Erklärung der Befehle zum Anzeigen von Linux-Dateien

So zeigen Sie Linux-Dateien an Befehl zum Anzeige...

Welche Vorteile bietet die Verwendung von B+Tree als Index in MySQL?

Inhaltsverzeichnis Warum benötigen Datenbanken In...