So teilen Sie Daten zwischen einem Docker -Container und einem Hostsystem mit Volumes

So teilen Sie Daten zwischen einem Docker -Container und einem Hostsystem mit Volumes

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
Daten aus dem Hostsystem an einen Docker -Container teilen Softwareanforderungen und Linux -Befehlszeilenkonventionen
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.

  1. 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 
  2. 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ötigen Daten1 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 
  3. 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