Heim  >  Artikel  >  Betrieb und Instandhaltung  >  So kopieren Sie das Dateisystem in Docker

So kopieren Sie das Dateisystem in Docker

PHPz
PHPzOriginal
2023-04-18 10:26:082778Durchsuche

Docker ist ein beliebtes Virtualisierungstool, das das Erstellen, Veröffentlichen und Ausführen von Anwendungen vereinfacht. Es basiert auf der Containertechnologie und verwendet mehrere Ebenen zur Verwaltung verschiedener Abhängigkeiten der Anwendung, wodurch die Anwendung vollständig isoliert und tragbarer und skalierbarer werden kann. Bei der Verwendung von Docker müssen wir häufig die Dateisysteme mehrerer Container kopieren. Hier stellen wir vor, wie Docker das Dateisystem kopiert, um die Dateiübertragung und -freigabe zwischen verschiedenen Containern zu erleichtern.

1. Verwenden Sie den Befehl „docker cp“

Die Docker-Befehlszeilenschnittstelle bietet einen Befehl „Dockerfile cp“, mit dem Dateien in das Innere des Containers oder aus dem Inneren des Containers in den lokalen kopiert werden können. Die Verwendung ist wie folgt:

docker cp [OPTIONS] CONTAINER:SRC_PATH LOCAL_DEST_PATH
docker cp [OPTIONS] LOCAL_SRC_PATH CONTAINER:DEST_PATH

wobei CONTAINER den Namen des Containers oder die ID des Containers darstellt; SRC_PATH das Verzeichnis oder die Datei im Container darstellt, die über : mit dem Containernamen verbunden ist ; LOCAL_DEST_PATH stellt den lokalen Dateisystempfad dar und gibt den Pfad vom Container an. Kopieren nach lokal; LOCAL_SRC_PATH stellt den lokalen Dateisystempfad dar, was das Kopieren vom lokalen zum Container bedeutet. Wir können im Terminal den folgenden Befehl eingeben, um die Dateien im Container lokal zu kopieren: :与容器名称相连;LOCAL_DEST_PATH表示本地文件系统路径,表示从容器复制到本地;LOCAL_SRC_PATH表示本地文件系统路径,表示从本地复制到容器。我们可以在终端中输入以下命令将容器中的文件拷贝到本地:

docker cp my-container:/path/to/file /local/destination

这将把my-container容器中的/path/to/file文件拷贝到/local/destination目录下。

我们还可以使用通配符来拷贝整个目录,如:

docker cp my-container:/path/to/dir/* /local/destination

这将拷贝my-container容器中的/path/to/dir目录内的所有文件和子文件到/local/destination目录。

2.将文件复制到同一网络中的其他容器中

我们常常将多个容器链接在同一网络中,以便进行服务发现和容器间通信。在这种情况下,我们可以使用docker cp

docker inspect --format '{{ .NetworkSettings.IPAddress }}' CONTAINER_NAME_OR_ID
Dadurch wird die Datei /path/to/file in den my-container-Container In das Verzeichnis <code>/local/destination kopieren.

Wir können auch Platzhalter verwenden, um das gesamte Verzeichnis zu kopieren, wie zum Beispiel:

docker cp /local_path/file.txt CONTAINER_NAME_OR_ID:/path/within/container/
Dadurch werden alle Dateien im Verzeichnis /path/to/dir im Verzeichnis my-container kopiert. code>-Containerdateien und Unterdateien in das Verzeichnis <code>/local/destination.

2. Dateien in andere Container im selben Netzwerk kopieren

Wir verknüpfen oft mehrere Container im selben Netzwerk zur Serviceerkennung und Kommunikation zwischen Containern. In diesem Fall können wir den Befehl docker cp verwenden, um die Dateien in andere Container im selben Netzwerk zu kopieren. Zuerst müssen wir die IP-Adresse des Containers kennen, den wir kopieren möchten. Wir können die IP-Adresse des Containers ermitteln, indem wir den folgenden Befehl ausführen:

docker cp /local_path/filename.txt ssh://user@remotehost:/path/within/container/filename.txt
Dadurch wird die IP-Adresse des Containers zurückgegeben. Anschließend können wir die Dateien mit dem folgenden Befehl in andere Container kopieren:

rrreee

Dadurch werden die lokalen Dateien in andere Container im selben Netzwerk kopiert.

3. Dateien auf den Remote-Docker-Host kopieren 🎜🎜 Wenn wir Dateien auf den Remote-Docker-Host kopieren möchten, müssen wir SSH verwenden. Mit SSH können wir eine sichere Remote-Verbindung herstellen und darin Befehle ausführen. Zuerst müssen wir sicherstellen, dass wir den SSH-Schlüssel des Remote-Docker-Hosts, den wir verbinden möchten, zu unserem Schlüsselbund hinzugefügt haben. Anschließend können wir die Datei mit dem folgenden Befehl kopieren: 🎜rrreee🎜 Dadurch wird die Datei in das angegebene Verzeichnis auf dem Remote-Host kopiert. Bitte beachten Sie, dass der Benutzer beim Herstellen einer Verbindung zu einem Remote-Docker-Host über SSH über ausreichende Berechtigungen für den Zugriff auf den Remote-Host und den Container verfügen muss. 🎜🎜Zusammenfassung🎜🎜Mit der oben genannten Methode können wir den Docker-Befehl cp verwenden, um das Dateisystem zu kopieren und so die Dateiübertragung und -freigabe zwischen verschiedenen Containern zu erleichtern. Mit diesem Ansatz können wir viele verschiedene Szenarien implementieren, z. B. das Kopieren von Dateien von einem Container in einen anderen, das Kopieren von Dateien von einem Container in einen lokalen oder das Kopieren von Dateien auf einen Remote-Docker-Host. Dadurch wird Docker im tatsächlichen Einsatz flexibler und wir können besser auf unterschiedliche Anforderungen eingehen. 🎜

Das obige ist der detaillierte Inhalt vonSo kopieren Sie das Dateisystem in Docker. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn