Befehl zum Ändern des Arbeitsverzeichnisses in Docker
In Docker können wir Terminalbefehle nicht nahtlos ausführen, wenn wir den Container nicht erstellt und gestartet haben und nicht innerhalb der Shell des Containers exec
. Ein Beispiel für diese Befehle ist das Ändern des Arbeitsverzeichnisses.
Das Ändern des Arbeitsverzeichnisses ist unerlässlich, wenn wir eine Komponente in einem bestimmten Verzeichnis installieren müssen. In diesem Artikel werden Methoden zum Ändern des Arbeitsverzeichnisses in Docker erläutert.
Ändern Sie das Arbeitsverzeichnis in Docker
Die folgenden Befehle, die wir behandeln werden, sind keine primären Befehle, sondern Einträge, die wir beim Vorbereiten unseres Dockerfiles verwenden werden. Wenn wir uns erinnern können, können wir das Dockerfile verwenden, um die Erstellung von Containern zu automatisieren, wenn der Befehl docker build
ausgeführt wird.
Im Folgenden gehen wir auf zwei Möglichkeiten ein, das Arbeitsverzeichnis über das Dockerfile zu ändern.
Verwenden Sie den Befehl RUN
Wir können ein Terminalskript mit dem Befehl RUN
ausführen. Dann können wir in unserem Dockerfile einen Eintrag wie den folgenden einfügen, um unser Arbeitsverzeichnis zu ändern.
RUN cd /dev
Bevor wir andere Befehle ausführen, können wir das Arbeitsverzeichnis mit dem Befehl cd
ändern. Wir müssen dem Dockerfile jedoch keinen neuen RUN
-Eintrag hinzufügen, um mehrere Befehle auszuführen.
Wir können verschiedene Befehle mit nur einer RUN
-Zeile verwenden und anhängen.
Beispielcode:
RUN cd /dev && git clone sample.git && pip install -r requirements.txt
Wir können mehrere Befehle mit dem Operator AND (&&
) ausführen. Beispielsweise wird der folgende Befehl nur ausgeführt, wenn der vorherige Befehl dahinter erfolgreich ist.
Wenn in diesem Fall die git clone
-Befehle fehlschlagen, wird unser pip install
-Befehl nicht ausgeführt. Es gibt jedoch einen einfacheren Weg, wenn wir das Arbeitsverzeichnis innerhalb des Containers ändern.
Verwenden Sie den Befehl WORKDIR
Wie beim Befehl RUN
können wir den Befehl WORKDIR
in unsere Docker-Datei einfügen, um das Arbeitsverzeichnis zu ändern, sobald der Container ausgeführt wird.
WORKDIR "/dev"
Der Befehl WORKDIR
gilt als Best Practice für Dockerfiles beim Schreiben von Build-Dateien für Docker. Dieses Szenario tritt auf, weil der obige Befehl das Lesen und Unterscheiden von ausgeführten Befehlen auf dem Container erleichtert.
WORKDIR "/dev"
RUN git clone sample.git && pip install -r requirements.txt
Marion specializes in anything Microsoft-related and always tries to work and apply code in an IT infrastructure.
LinkedIn