Ausführliche Erklärung und realer Fall des Befehls zum Kopieren von Dateien in Docker
Zusammenfassung:
Docker ist eine beliebte Containerisierungsplattform, die eine leichte, tragbare Lösung für die Bereitstellung und Ausführung von Anwendungen in verschiedenen Umgebungen bietet. In Docker ist das Kopieren von Dateien ein üblicher Vorgang, der das Kopieren von Dateien vom Hostsystem in den Container oder vom Container auf das Hostsystem ermöglicht. In diesem Artikel werden die Befehle zum Kopieren von Dateien in Docker ausführlich erläutert und anhand realer Fälle veranschaulicht.
- Dateikopierbefehle in Docker
Docker bietet zwei Hauptbefehle für Dateikopiervorgänge:docker cp
undCOPY
Anweisungen. Die Verwendung und Parameterbedeutungen dieser beiden Befehle werden im Folgenden ausführlich erläutert.
1.1 docker cp
Befehle
docker cp
Befehle werden verwendet, um Dateien vom Hostsystem in einen laufenden Container zu kopieren oder Dateien von einem Container auf das Hostsystem zu kopieren.
Befehlsformat:
docker cp [OPTIONS] CONTAINER:SRC_PATH DEST_PATH
docker cp [OPTIONS] SRC_PATH|- CONTAINER:DEST_PATH
Parameterbeschreibung:
OPTIONS
: Optionaler Parameter, der zum Angeben einiger zusätzlicher Optionen verwendet wird, z. B. um-a
anzugeben, dass die Berechtigungen und Attribute der kopierten Datei unverändert bleiben.CONTAINER
: Der Name oder die ID des Containers.SRC_PATH
: Der Pfad zur Quelldatei, der ein Pfad auf dem Hostsystem oder im Container sein kann.DEST_PATH
: Der Pfad zur Zieldatei, der ein Pfad auf dem Hostsystem oder im Container sein kann.
Beispielverwendung: Kopieren Sie eine Datei
auf dem Hostsystem in einen Pfad in einem Container mit dem Namen ./path/to/file.txt
mycontainer
/app/file.txt
docker cp /path/to/file.txt mycontainer:/app/file.txt
mycontainer
Kopieren Sie die Dateien im genannten Container in den Pfad /app/file.txt
auf dem Hostsystem /path/to/destination
.
docker cp mycontainer:/app/file.txt /path/to/destination
1.2 COPY
Direktiven
COPY
Direktiven sind Befehle, die in einer Docker-Datei verwendet werden, um eine Datei auf dem Hostsystem in einen Container zu kopieren.
Anleitungsformat:
COPY [--chown=<user>:<group>] <src>... <dest>
Parameterbeschreibung:
--chown=<user>:<group>
: Optionaler Parameter, der zum Angeben des Benutzers und der Benutzergruppe beim Kopieren von Dateien verwendet wird.<src>
: Der Pfad der Quelldatei. Dies kann ein Pfad auf dem Hostsystem oder ein relativer Pfad unter dem Verzeichnis sein, in dem sich die Docker-Datei befindet.<dest>
: Der Pfad der Zieldatei, der den Pfad im Container angibt.
Beispielverwendung: Kopieren Sie eine Datei
auf dem Hostsystem in einen Pfad im Container in einer Docker-Datei./path/to/file.txt
/app/file.txt
COPY /path/to/file.txt /app/file.txt
- Reale Fallanalyse
Um die Verwendungsmethode und Parameterbedeutung des Dateikopierbefehls besser zu verstehen, werden wir ihn anhand eines realen Falles analysieren.
Angenommen, wir haben eine Node.js-basierte Anwendung und müssen die Quellcodedateien auf dem Hostsystem in einen Docker-Container kopieren und im Container ausführen. Wir können COPY
Richtlinien verwenden, um dieses Ziel zu erreichen.
Zuerst erstellen wir auf dem Hostsystem ein Verzeichnis app
mit dem Namen und legen die Quellcodedateien in diesem Verzeichnis ab. Verwenden Sie dann die Anweisung in der Docker-Datei COPY
, um app
alle Dateien im Verzeichnis in /usr/src/app
den Pfad im Container zu kopieren.
Der Inhalt von Dockerfile ist wie folgt:
FROM node:14
WORKDIR /usr/src/app
COPY app/ .
CMD [ "node", "app.js" ]
Beim Erstellen eines Docker-Images kopiert die Docker-Engine app
alle Dateien im Verzeichnis in /usr/src/app
den Pfad im Container. Anschließend können wir die Anwendung im Container ausführen.
Fazit:
In diesem Artikel werden die Befehle im Zusammenhang mit dem Kopieren von Dateien in Docker ausführlich erläutert und anhand realer Fälle erläutert. Mithilfe von docker cp
Befehlen und COPY
Anweisungen können wir Dateien problemlos zwischen dem Hostsystem und dem Container kopieren. Für die Anwendungsentwicklung und -bereitstellung in Docker ist es sehr wichtig zu wissen, wie diese Befehle verwendet werden und was die Parameter bedeuten.