Navigation im Docker-Dateisystem
Beim Arbeiten mit Docker-Containern ist es wichtig zu verstehen, wie das Docker-Dateisystem strukturiert ist und wie man sich darin bewegen kann. Jeder Docker-Container hat sein eigenes isoliertes Dateisystem, das vom Host-Betriebssystem und anderen Containern getrennt ist.
Grundlagen des Docker-Dateisystems
Das Docker-Dateisystem besteht aus mehreren Ebenen (Layers), die übereinander gestapelt sind, um das endgültige Container-Image zu bilden. Diese Ebenen werden beim Erstellen des Docker-Images erzeugt und basieren auf den Anweisungen in der Dockerfile.
graph TD
subgraph Docker Filesystem
Image_Layer_1 --> Image_Layer_2
Image_Layer_2 --> Image_Layer_3
Image_Layer_3 --> Container_Layer
end
Die oberste Ebene ist die Container-Ebene, die die beschreibbare Ebene ist, in der alle Änderungen, die während der Laufzeit des Containers vorgenommen werden, gespeichert werden. Die darunter liegenden Image-Ebenen sind schreibgeschützt und bilden die Grundlage für den Container.
Zugriff auf das Docker-Dateisystem
Um auf das Dateisystem eines laufenden Docker-Containers zuzugreifen, können Sie den Befehl docker exec
verwenden, um eine Shell innerhalb des Containers zu öffnen. Beispiel:
docker exec -it my-container /bin/bash
Dadurch wird eine Bash-Shell innerhalb des Containers my-container
geöffnet, die es Ihnen ermöglicht, sich im Dateisystem zu bewegen und verschiedene Operationen auszuführen.
Verzeichnismapping zwischen Host und Container
Sie können Verzeichnisse vom Host-Betriebssystem auf das Dateisystem des Containers abbilden, indem Sie Docker-Volumes oder Bind-Mounts verwenden. Dies ermöglicht es Ihnen, Daten persistent zu speichern, Dateien zu teilen oder auf Host-Ressourcen von innerhalb des Containers zuzugreifen.
Um einen Bind-Mount zu erstellen, können Sie die Option -v
oder --mount
verwenden, wenn Sie einen Container starten:
docker run -v /host/path:/container/path my-image
Dadurch wird das Verzeichnis /host/path
auf dem Host in das Verzeichnis /container/path
innerhalb des Containers eingebunden.
Das Verständnis der Struktur des Docker-Dateisystems und der Navigation darin ist entscheidend für die Verwaltung und Fehlerbehebung von Docker-basierten Anwendungen.