Übertragen von Dateien zwischen Docker-Container und Host
Das Übertragen von Dateien zwischen einem Docker-Container und dem Host-System ist eine häufige Aufgabe während der Entwicklung, Tests oder Bereitstellung. Docker bietet verschiedene Möglichkeiten, dies zu erreichen, wobei die gewählte Methode von Ihrem spezifischen Anwendungsfall abhängt.
Kopieren von Dateien vom Container zum Host
Um Dateien von einem Docker-Container auf das Host-System zu kopieren, können Sie den Befehl docker cp
verwenden. Dieser Befehl ermöglicht es Ihnen, Dateien oder Verzeichnisse von einem Container auf den Host oder umgekehrt zu kopieren.
## Kopieren einer Datei vom Container zum Host
docker cp my_container:/path/to/file.txt /host/path/
## Kopieren eines Verzeichnisses vom Container zum Host
docker cp my_container:/path/to/directory /host/path/
Mounten von Host-Verzeichnissen als Volumes
Eine weitere Möglichkeit, Dateien zwischen einem Docker-Container und dem Host zu übertragen, besteht darin, ein Host-Verzeichnis als Volume im Container zu mounten. Dadurch kann der Container direkt auf die Dateien auf dem Host-System zugreifen.
## Ausführen eines Containers mit einem gemounteten Volume
docker run -v /host/path:/container/path my_image
## Der Container kann nun auf die Dateien im Verzeichnis /host/path zugreifen.
Bind Mounts
Bind Mounts sind eine Art Volume, das ein Verzeichnis auf dem Host direkt mit einem Verzeichnis im Container abbildet. Dies ermöglicht eine bidirektionale Dateiübertragung zwischen Host und Container.
## Ausführen eines Containers mit einem Bind Mount
docker run -v /host/path:/container/path:rw my_image
## Der Container kann Dateien im Verzeichnis /host/path lesen und schreiben.
Volumes
Docker Volumes sind eine weitere Möglichkeit, Daten in einem Container zu verwalten. Volumes werden von Docker verwaltet und können verwendet werden, um Daten zwischen Containern und dem Host zu speichern und zu übertragen.
## Erstellen eines Volumes
docker volume create my_volume
## Ausführen eines Containers mit einem Volume
docker run -v my_volume:/container/path my_image
## Der Container kann auf die Dateien im Volume my_volume zugreifen.
Durch das Verständnis dieser verschiedenen Methoden zum Übertragen von Dateien zwischen einem Docker-Container und dem Host können Sie die Methode auswählen, die Ihren spezifischen Anwendungsfall und Anforderungen am besten entspricht.