So teilen Sie Daten zwischen einem Docker -Container und einem Hostsystem mit Volumes
- 2782
- 768
- Hr. Moritz Bozsik
Der einfachste Weg, Daten zwischen einem Docker -Container und dem Host -System zu teilen, besteht darin, die Bände von Docker zu verwenden. In diesem Handbuch werden wir Schritt -für -Schritt -Anweisungen zur Freigabe von Dateien zwischen einem Docker -Container und Hostsystem unter Verwendung von Docker -Volumes über die Befehlszeile unter Linux durchlaufen.
WUSSTEN SIE?Docker -Volumes funktionieren ähnlich wie Bindungshalterungen, sind jedoch die bevorzugte Methode zum Teilen von Daten zwischen einem Host -System und Docker -Container, da externe Anwendungen nicht in der Lage sind, auf die Dateien zuzugreifen und sie zu ändern.
In diesem Tutorial lernen Sie:
- So verwenden Sie Volumes, um Daten zwischen einem Docker -Container und einem Hostsystem zu teilen
Kategorie | Anforderungen, Konventionen oder Softwareversion verwendet |
---|---|
System | Jede Linux -Distribution |
Software | Docker |
Andere | Privilegierter Zugriff auf Ihr Linux -System als Root oder über die sudo Befehl. |
Konventionen | # - erfordert, dass gegebene Linux -Befehle mit Root -Berechtigungen entweder direkt als Stammbenutzer oder mit Verwendung von ausgeführt werden können sudo Befehl$ - Erfordert, dass die angegebenen Linux-Befehle als regelmäßiger nicht privilegierter Benutzer ausgeführt werden können |
Teilen Sie Daten zwischen Docker -Container und Host frei
Betrachten Sie das folgende Beispiel.
- Erstens erstellen wir auf einem Host -System ein Verzeichnis mit einer einzelnen Datei, die wir mit einem Docker -Container teilen möchten:
# MKDIR Data1 # Echo "Docker Volumenfreigabe"> Data1/Datei1
- Als nächstes führen wir einen Docker -Container aus und verwenden die
-v
Option zum Montieren eines lokalen Host -System -Verzeichnisdaten11 im Verzeichnis des Containers/opt/data1
. Bitte beachten Sie, dass das Ziel vom Docker -Befehl erstellt wird, wenn das Ziel nicht existiert. Darüber hinaus übernimmt Docker nur einen vollständigen Pfad zu einem lokalen Host -System -Verzeichnis, und aus diesem Grund müssen wir das Präfixen benötigenDaten1
Verzeichnis mit$ Pwd/
Umgebungsvariable, die einen vollständigen Pfad in ein aktuelles Arbeitsverzeichnis zurückgibt:# Docker run -v $ pwd/data1:/opt/data1 -it debian/bin/bash
- Das Ergebnis des obigen Befehls ist, dass wir jetzt auf unsere zuvor erstellte Datei zugreifen können
Datei1
Aus einem Behälter:# CAT/OPT/Data1/Datei1 Docker Volumenfreigabe
Das ist alles dazu. Sie können jetzt alle gewünschten Dateien zwischen dem Host -System und den Docker -Containern mithilfe des montierten Volumens freigeben. Wenn Sie auf Fehler stoßen, finden Sie unten im Abschnitt Fehlerbehebung unten.
Abschluss
In diesem Handbuch haben wir gelernt, Daten zwischen einem Hostsystem und einem Docker -Container mithilfe von Volumes zu teilen. Dies ist der beste und einfachste Weg, um Daten zwischen den beiden Systemen unter Linux auszutauschen. Nur wenige kurze Schritte erfordert.
Fehlerbehebung
Wenn Sie auf den folgenden Fehler stoßen:
FATA [0000] Fehlerantwort von Dämon.
Dies bedeutet. Hinweis: Der volle Weg beginnt immer mit /
.
Sie können auch auf diese Erlaubnis verweigert werden, die Fehler abgelehnt haben:
# ls/opt/data1/ls: Verzeichnis/opt/data1/: Erlaubnis abgelehnt
Dieser Fehler wird durch Selinux verursacht, das auf Ihrem lokalen Hostsystem ausgeführt wird. Die folgenden beiden Lösungen tragen dazu bei, dieses Problem zu lösen. Erstens besteht die Lösung darin, Selinux in Ihrem lokalen Host -System zu deaktivieren.
# SetEnforce 0
Da das Deaktivieren des Selinux eine Integrität Ihres Host -Systems behindern kann, kann es einfacher sein, Ihrem Container eine erweiterte Berechtigungen mit einem Docker zu geben --privilegge = true
Möglichkeit:
# Docker Run -privileged = true -v $ pwd/data1:/opt/data1 -it debian/bin/bash
Verwandte Linux -Tutorials:
- Dinge zu installieren auf Ubuntu 20.04
- Eine Einführung in Linux -Automatisierung, Tools und Techniken
- Dinge zu tun nach der Installation Ubuntu 20.04 fokale Fossa Linux
- Mastering -Bash -Skriptschleifen beherrschen
- Ubuntu 20.04 Leitfaden
- Linux -Konfigurationsdateien: Top 30 am wichtigsten
- Mint 20: Besser als Ubuntu und Microsoft Windows?
- Wie man Kali Linux und Windows 10 Dual -Boot -Start hat
- Hung Linux System? Wie man zur Befehlszeile entkommt und…
- Ubuntu 20.04 Tricks und Dinge, die Sie vielleicht nicht wissen
- « Erstellen eines Redhat -Paket -Repositorys
- Linux -Befehle, um die MySQL -Datenbank zu sichern und wiederherzustellen »