Befehl zum Ändern des Arbeitsverzeichnisses in Docker

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 Paul Kenneth Mendoza avatar Marion Paul Kenneth Mendoza avatar

Marion specializes in anything Microsoft-related and always tries to work and apply code in an IT infrastructure.

LinkedIn

Verwandter Artikel - Docker Directory