Heim >Betrieb und Instandhaltung >Docker >Gehen Daten verloren, wenn Sie den Docker-Container stoppen?
Stoppen Sie den Docker-Container und die Daten gehen nicht verloren. Wenn der Docker-Container angehalten und beendet wird, bleiben die darin enthaltenen Daten erhalten und können nur dann angezeigt werden, wenn der Container gelöscht wird das Löschen des Containers.
Die Betriebsumgebung dieses Tutorials: Linux5.9.8-System, Docker-1.13.1-Version, Dell G3-Computer.
Stoppen Sie den Docker-Container und die Daten gehen nicht verloren.
Wenn der Docker-Container stoppt und beendet wird, befindet er sich im beendeten Zustand, was dem Herunterfahren der virtuellen Maschine entspricht, sodass kein Datenverlust auftritt.
Zu diesem Zeitpunkt können Sie es über docker ps -a anzeigen und auch über docker start starten. Nur durch das Löschen des Containers werden die Daten gelöscht.
Erst nach Docker rm werden durch das Löschen des Containers die Daten gelöscht.
Erstellen Sie einen Container und löschen Sie dann den Container.
Wie lösche ich den Container, ohne die Daten zu löschen? Dies kann Ihr Problem lösen. dockerrun-vhost_dir:containere_dir
Erweiterte Kenntnisse: Beim Neustart des Containers werden die während der Ausführung des Containers generierten Protokoll- oder Datenbankdaten gelöscht.
Lösung: Docker kann Daten dauerhaft speichern, indem das Host-Festplattenverzeichnis bereitgestellt wird. 1. Führen Sie das Docker-Volume aus, wenn Sie einen Container erstellenVerwenden Sie den Befehl docker run, um einen Docker-Container auszuführen, verwenden Sie das Image ubuntu/nginx, mounten Sie das lokale Verzeichnis /tmp/source im Containerverzeichnis /tmp/destinationdocker run -itd --volume /tmp/source:/tmp/destination --name test ubuntu/nginx bashBasierend auf Ubuntu/ Das Nginx-Image erstellt einen Docker-Container. Geben Sie den Namen des Containers als Test an, der durch die Option ––name angegeben wird. Docker Volume wird durch die Option ––volume (kann als -v abgekürzt) angegeben. Das Verzeichnis /tmp/source des Hosts entspricht dem Verzeichnis /tmp/destination im Container. 2. Docker-Volume anzeigenVerwenden Sie den Befehl docker inspect, um die detaillierten Informationen des Docker-Containers anzuzeigen:
docker inspect --format=’{{json .Mounts}}'test | python -m json.tool[{“Destination”: “/tmp/destination”,“Mode”: “”,“Propagation”: “”,“RW”: true,“Source”: “/tmp/source”,“Type”: “bind”}]Verwenden Sie die Option ––format, um die erforderlichen Containerinformationen selektiv anzuzeigen. .Mount sind die Docker-Volume-Informationen des Containers. python -m json.tool kann die ausgegebene JSON-Zeichenfolge formatieren und anzeigen. Quelle stellt das Verzeichnis auf dem Host dar, nämlich /tmp/source . Ziel ist das Verzeichnis im Container, nämlich /tmp/destination. 3. Native Dateien können mit dem Container synchronisiert werdenErstellen Sie eine neue hello.txt-Datei im nativen/tmp/source-Verzeichnis.
touch /tmp/source/hello.txtls /tmp/source/hello.txtDie hello.txt-Datei ist im Container/tmp/destination/directory sichtbar Mit dem Docker-Exec-Befehl können Sie Befehle im Container ausführen.
docker exectest ls /tmp/destination/hello.txtSo können Änderungen am Verzeichnis /tmp/source/ auf dem Host mit dem Containerverzeichnis /tmp/destination/ synchronisiert werden. 4. Containerdateien können mit dem Host synchronisiert werden Erstellen Sie eine neue world.txt-Datei im Verzeichnis container/tmp/destination
docker exec test touch /tmp/destination/world.txtdocker exec test ls /tmp/destination/hello.txtworld.txtDie world.txt-Datei ist im Verzeichnis host/tmp/source/ sichtbar
ls /tmp/source/hello.txt world.txtEmpfohlenes Lernen: „
Docker-Video-Tutorial
“Das obige ist der detaillierte Inhalt vonGehen Daten verloren, wenn Sie den Docker-Container stoppen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!