In früheren Artikeln haben wir über einige DockerFile-bezogene Befehle wie RUN, FROM, MAINTAINER, EXPOSE usw. gesprochen. Heute werden wir uns andere DockerFile-Befehle ansehen. 01 CMDMit dem CMD-Befehl wird der Befehl angegeben, der beim Starten eines Containers ausgeführt werden muss. Es ähnelt dem RUN-Befehl, weist aber folgende Unterschiede auf: Die RUN-Anweisung ist der Befehl, der beim Erstellen des Images ausgeführt werden muss. Der CMD-Befehl gibt den Befehl an, der beim Starten des Containers ausgeführt werden soll. Beispiel: docker run -it Containername /bin/ls Mit diesem Befehl starten Sie einen Container und führen /bin/ls aus. Dies entspricht dem manuellen Aufrufen von Docker und Ausführen des Befehls ls. Sie können stattdessen den folgenden Befehl in DockerFile verwenden: CMD [ "/bin/ls" ] Es ist zu beachten, dass im DockerFile nur ein CMD-Befehl angegeben werden kann. Auch wenn wir mehrere Befehle angeben, kann nur der letzte ausgeführt werden. Wenn wir die CMD-Anweisung in DockerFile verwenden, wird die CMD-Anweisung direkt nach dem Befehl „Docker Run“ ausgeführt, zum Beispiel: docker run -it Containername Nach dem Starten dieses Containers wird der Befehl /bin/ls direkt ausgeführt. 02 EINSTIEGSPUNKTDieser Befehl ist dem obigen CMD-Befehl sehr ähnlich, mit der Ausnahme, dass alle nach dem Befehl „docker run“ angegebenen Parameter erneut als Parameter an den Befehl in der ENTRYPOINT-Anweisung übergeben werden. 03 ARBEITSVERZEICHNISDie Anweisung WORKDIR wird verwendet, um beim Erstellen eines neuen Containers aus einem Image ein Arbeitsverzeichnis innerhalb eines Containers festzulegen. Der ENTRYPOINT- oder CMD-Befehl wird in diesem Verzeichnis ausgeführt. Dieser Befehl erscheint häufig am Anfang der Docker-Datei, um das Arbeitsverzeichnis für eine Reihe nachfolgender Befehle festzulegen. Nach Angabe bestimmter Befehle können Sie mit diesem Befehl auch das aktuelle Verzeichnis wechseln. Daher sollte der Befehl WORKDIR in der Regel folgendermaßen verwendet werden: ARBEITSVERZEICHNIS /data1/xxxxx LAUFEN xxxxx RUN xxxxxx ARBEITSVERZEICHNIS /data2/xxxxx LAUFEN xxxxx LAUFEN xxxxx Es ist ein Tool zum ständigen Wechseln zwischen Verzeichnissen. Was passiert, wenn wir in DockerFile ein Verzeichnis angeben, es aber beim Ausführen von Docker nicht verwenden möchten? Die Antwort ist, docker run -w /var/dir1 zu verwenden Nach Verwendung des Parameters -w wird /var/dir1 verwendet, um den Pfad in unserem DockerFile zu überschreiben. 04 UMWELTDie ENV-Anweisung wird verwendet, um beim Generieren einer Docker-Datei Umgebungsvariablen anzugeben. Zum Beispiel: ENV PYRHON_HOME /usr/bin/python Es kann mit dem obigen WORKDIR kombiniert werden, zum Beispiel: ENV PYRHON_HOME /usr/bin/python ARBEITSVERZEICHNIS $PYTHON_HOME Sie können auch den Befehl env im vom Befehl ENV generierten Container verwenden, um die Umgebungsvariablen des aktuellen Containers anzuzeigen, und Sie können den von uns festgelegten Wert von PYRHON_HOME sehen. Zusätzlich zu dieser Methode können wir den Befehl docker -e verwenden, um Umgebungsvariablen zu übergeben, aber die von dieser Methode übergebenen Umgebungsvariablen sind nur zur Laufzeit gültig. 05 BENUTZERMit der USER-Anweisung wird der Benutzer angegeben, als der das Image ausgeführt wird. Zum Beispiel: BENUTZER mysql Natürlich können Sie auch USER Benutzer BENUTZER Benutzer: Gruppe Benutzer-UID BENUTZER-UID:gid Dabei sind zwei Punkte zu beachten: 1. Sie können den Befehl -u in Docker Run verwenden, um die USER-Option in DockerFile zu überschreiben. 2. Wenn die Option USER nicht angegeben ist, ist der Standardbenutzer root 06 VOLUMENMit der VOLUME-Anweisung wird einem aus einem Image erstellten Container ein Volume hinzugefügt. Ein Volume kann in einem bestimmten Verzeichnis innerhalb eines oder mehrerer Container vorhanden sein. Dieses Verzeichnis kann die Funktion der gemeinsamen Nutzung oder dauerhaften Speicherung von Daten bereitstellen, beispielsweise: 1. Volumes können zwischen Containern geteilt und wiederverwendet werden 2. Ein Container muss keine Volumes mit anderen Containern teilen 3. Änderungen an der Lautstärke werden sofort wirksam 4. Das Volume bleibt bestehen, bis es von keinem Container mehr benötigt wird Mit dieser Funktion können wir dem Bild Code oder Daten hinzufügen, anstatt sie an das Bild zu übermitteln. Dadurch wird die Bildgröße erheblich reduziert. Es ermöglicht uns, diese Inhalte zwischen mehreren Containern zu teilen, daher wird VOLUME häufig verwendet, um die Korrektheit des Containers zu testen. VOLUMEN [ "/Volumen" ] Dieser Befehl erstellt einen Einhängepunkt mit dem Namen /volume für Container, die mit diesem Image erstellt wurden. Sie können auch ein Array verwenden, um mehrere Einhängepunkte zu erstellen: VOLUME [ "/Daten1", "/Daten2" ] 07 HINZUFÜGENDer Befehl ADD wird verwendet, um Dateien und Verzeichnisse in der Build-Umgebung in das Image zu kopieren. Bei der Verwendung des ADD-Befehls werden die Quell- und Zielspeicherorte der Datei wie folgt benötigt: HINZUFÜGEN aaa.txt /data1/aaa.txt Dieser Befehl kopiert die Datei aaa.txt im Image-Build-Verzeichnis in das Verzeichnis /data1/aaa.txt im Image. Eine Quelldatei kann nicht nur eine Datei im Kontext der Build-Umgebung sein, sondern auch eine URL. Wenn die Zieladresse während des ADD-Dateiprozesses mit / endet, betrachtet DockerFile den Quellspeicherort als Verzeichnis, andernfalls betrachtet es die Quelldatei als Datei. Und noch ein Hinweis: Wenn es sich bei der Quelldatei um eine lokale Archivdatei (z. B. tar.gz) handelt, dekomprimiert Docker sie in die Zieldatei. 08 KOPIEDer COPY-Befehl ist ADD sehr ähnlich. Der Unterschied zu ADD besteht darin, dass COPY die URL-Methode nicht unterstützt und die Datei nicht aktiv dekomprimiert. Das Ziel des COPY-Befehls muss ein absoluter Pfad innerhalb des Containers sein. Notiz: 1. Die UID und GID aller durch diesen Befehl erstellten Dateien und Verzeichnisse wird auf 0 gesetzt. 2. Wenn der Zielspeicherort nicht existiert, erstellt Docker automatisch alle erforderlichen Verzeichnisstrukturen. Genau wie mkdir -p. Das ist alles für heute. Es mag etwas trocken erscheinen. Ich werde später Beispiele hinzufügen, um diese Befehle zu veranschaulichen. Oben finden Sie den detaillierten Inhalt der Einführung in die Verwendung allgemeiner Dockerfile-Befehle. Weitere Informationen zur Verwendung von Dockerfile-Befehlen finden Sie in den anderen verwandten Artikeln auf 123WORDPRESS.COM! Das könnte Sie auch interessieren:
|
<<: Detaillierte Erläuterung der Rolle der Standarddatenbank nach der MySQL-Installation
Verwenden Sie „onInput(event)“, um festzustellen,...
<br />Von der Geburt meiner ersten persönlic...
Wie können Sie in MySQL die Berechtigungen anzeig...
Ein Kollege bat mich, ihm dabei zu helfen, heraus...
Die bedeutendste Website-Änderung im Jahr 2011 bet...
Das Folgende ist die Konfigurationsmethode unter ...
In diesem Artikel sehen wir uns an, wie man mit V...
Vorne geschrieben Nginx ist nicht nur ein Reverse...
Inhaltsverzeichnis Vorwort 1. Verwenden Sie for.....
Ich habe vor kurzem Porter gelernt. Ich habe das ...
Seit 2019 verwenden sowohl Android- als auch iOS-...
Methode 1: Verwenden Sie den Befehl SET PASSWORD ...
1. Finden Sie eine geeignete Version von Redis fü...
Dieser Artikel soll Ihnen vor allem dabei helfen,...
Als ich kürzlich eine Schnittstelle zeichnete, st...