Heim > Betrieb und Instandhaltung > Docker > Wie kopiere ich Dateien in Docker? Wohin kopieren?

Wie kopiere ich Dateien in Docker? Wohin kopieren?

PHPz
Freigeben: 2023-04-18 14:45:06
Original
2792 Leute haben es durchsucht

Docker ist eine Open-Source-Plattform zum Erstellen, Bereitstellen und Ausführen von Anwendungen. Die Kernidee besteht darin, eine Anwendung und ihre Abhängigkeiten in einem Container zu packen, um sie einfach bereitstellen und in verschiedenen Umgebungen ausführen zu können. Bei der Verwendung von Docker müssen wir häufig Dateien in den Container kopieren. In diesem Artikel wird erläutert, wie Dateien in Docker kopiert werden.

Die erste und am häufigsten verwendete Methode: Wir können den cp-Befehl von Docker zum Kopieren von Dateien verwenden. Die Syntax des cp-Befehls lautet wie folgt:

docker cp [OPTIONS] CONTAINER:SRC_PATH DEST_PATH|-
docker cp [OPTIONS] SRC_PATH|- CONTAINER:DEST_PATH
Nach dem Login kopieren

Dabei bezieht sich CONTAINER auf den Namen oder die ID des Containers, SRC_PATH ist der Quelldateipfad innerhalb des Containers und DEST_PATH ist der Zieldateipfad außerhalb des Containers. Wenn DEST_PATH auf „-“ gesetzt ist, bedeutet dies eine Ausgabe auf dem Bildschirm.

Angenommen, wir müssen die lokale Datei /root/abc.txt in einen Container namens mycontainer kopieren und als /tmp/def.txt speichern, dann können wir den folgenden Befehl ausführen:

docker cp /root/abc.txt mycontainer:/tmp/def.txt
Nach dem Login kopieren

Ähnlich, wenn wir Sie müssen die Datei /var/log/app.log im Container in das lokale /tmp-Verzeichnis kopieren. Sie können den folgenden Befehl ausführen:

docker cp mycontainer:/var/log/app.log /tmp
Nach dem Login kopieren

Zusätzlich zur Verwendung des Docker-Befehls cp können wir auch den Befehl ADD oder verwenden COPY-Anweisung in der Docker-Datei. Sowohl die ADD- als auch die COPY-Anweisung können Quelldateien aus dem Build-Kontext (d. h. dem Verzeichnis, in dem sich die Docker-Datei befindet) in den Container kopieren. Die Syntax des Befehls

ADD lautet wie folgt:

ADD [--chown=<user>:<group>] <src>... <dest>
Nach dem Login kopieren

Unter diesen gibt der Parameter --chown den Benutzer und die Gruppe an, die die Datei beim Kopieren festlegen. Wenn keine Parameter angegeben werden, werden der Benutzer und die Gruppe verwendet, in der sich die Docker-Datei befindet. Die Syntax der

COPY-Direktive lautet wie folgt:

COPY [--chown=<user>:<group>] <src>... <dest>
Nach dem Login kopieren

Ähnlich wie bei der ADD-Direktive kann auch der Parameter --chown verwendet werden, um den Besitz der Datei anzugeben.

Zum Beispiel wird die ADD-Anweisung in der folgenden Docker-Datei verwendet, um die lokale Datei app.jar in das /app-Verzeichnis im Container zu kopieren:

FROM ubuntu
ADD app.jar /app/app.jar
Nach dem Login kopieren

Ähnlich wird die COPY-Anweisung in der folgenden Docker-Datei verwendet, um das lokale Verzeichnis zu kopieren conf in das /app-Verzeichnis im Container. /conf-Verzeichnis:

FROM ubuntu
COPY --chown=user:group conf /app/conf
Nach dem Login kopieren

Es ist zu beachten, dass bei Verwendung der ADD- oder COPY-Anweisung der Eigentümer und die Berechtigungen der Datei oder des Verzeichnisses über das Dateisystem des Hosts an den Container übergeben werden. Wenn der Datei- oder Verzeichniseigentum im Host-Dateisystem falsch ist, treten bei der kopierten Datei oder dem kopierten Verzeichnis ebenfalls Berechtigungsprobleme auf.

Zusammenfassend lässt sich sagen, dass Sie zum Kopieren von Dateien aus Docker den Docker-cp-Befehl und den ADD- oder COPY-Befehl in der Docker-Datei verwenden können. Mit den oben genannten Methoden können wir Dateikopiervorgänge in Docker effektiv durchführen.

Das obige ist der detaillierte Inhalt vonWie kopiere ich Dateien in Docker? Wohin kopieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage