Zahlungsmethoden Abuse

Einhängen von Ordnern in Docker

12.09.2023, 23:41

Das Mounten von Ordnern (oder Dateisystemen) bedeutet, dass ein Dateisystem (Ordner oder Verzeichnis) mit einem bestimmten Ort auf einem anderen Dateisystem verknüpft oder verbunden wird. Auf diese Weise können Sie den Inhalt eines Ordners in einem anderen Ordner oder sogar an einem anderen Ort auf dem System zugänglich machen.

Was bedeutet Einhängen?

Das Einbinden von Ordnern ist eine wichtige Funktion von Betriebssystemen und wird häufig im Zusammenhang mit der Containerisierung wie Docker oder der Virtualisierung verwendet, um den Zugriff auf Dateien und Daten zwischen dem Host-Rechner und Containern oder virtuellen Maschinen zu ermöglichen.

Der Grundgedanke der Ordnereinbindung besteht darin, einen physischen Speicherbereich (z. B. eine Festplatte oder ein Dateisystem) in verschiedene logische Bereiche zu unterteilen, um Dateien zu organisieren und darauf zuzugreifen. Auf diese Weise können Sie den Inhalt eines Dateisystems kontrollieren und ändern, ohne andere Dateisysteme oder Verzeichnisse zu beeinträchtigen.

Das Einbinden von Ordnern wird häufig verwendet, um Daten zwischen dem Hostrechner und Containern auszutauschen, Code während der Anwendungsentwicklung zu aktualisieren, Datenbanken zu speichern oder Konfigurationsdateien anzupassen.

Warum muss ich Ordner mounten?

Das Einbinden von Ordnern in Docker Compose ermöglicht den Austausch von Daten zwischen dem Host-Rechner und den Containern, was mehrere Vorteile und Möglichkeiten bietet:

  1. Datenpersistenz: Durch das Einhängen von Ordnern können Sie Daten, die innerhalb von Containern erstellt oder geändert wurden, auf dem Host-Rechner persistieren. Dies ist wichtig, um persistente Daten wie Datenbanken oder Dateisysteme zu erhalten, die nach einem Neustart der Container wiederhergestellt werden können.
  2. Code-Updates: Wenn Sie eine Anwendung entwickeln und Code-Änderungen sofort sehen wollen, ohne das Image neu erstellen und den Container neu starten zu müssen, ist das Einbinden von Ordnern eine gute Möglichkeit, dies zu tun. Sie können den Quellcode-Ordner auf dem Host-Rechner innerhalb des Containers mounten, und wenn sich die Codedateien auf dem Host ändern, werden sie automatisch innerhalb des Containers angezeigt, ohne dass dieser neu gestartet werden muss.
  3. Aufteilung von Konfigurationen: Sie können das Einbinden von Ordnern auch verwenden, um Konfigurationsdateien zwischen dem Host-Rechner und den Containern aufzuteilen.

Wie man mountet.

In Docker Compose können Sie Ordner des Host-Rechners mit der Option `Volumes` in Container einbinden. Hier ist ein Beispiel für die Verwendung von Volumes in der Datei docker-compose.yml:

yaml 
version: '3'
services:
  app:
    image: nginx
    volumes:
      - /path_to_host_folder:/path_to_folder_volume

Im obigen Beispiel ist"/path_to_host_folder" der Pfad zu dem Ordner auf Ihrem Host-Rechner, den Sie in einen Container mounten möchten. /pfad_zum_ordner_volume" ist der Pfad zu dem Ordner innerhalb des Containers, in den Sie den Host-Ordner einhängen möchten.

Sie können auch relative Pfade anstelle von absoluten Pfaden verwenden, indem Sie den Pfad relativ zum Speicherort der Datei "docker-compose.yml" angeben. In diesem Fall verwenden Sie "/", um das aktuelle Verzeichnis anzugeben.

yaml
version: '3'
services:
  app:
    image: nginx
    volumes:
      - ./host's_folder:/path_to_folder_volume

Sie können auch mehrere eingehängte Ordner angeben, indem Sie sie einfach der Liste "Volumes" hinzufügen.

yaml
version: '3'
services:
  app:
    image: nginx
    volumes: