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
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
Ä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
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>
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>
Ä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
Ä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
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!