Normalerweise definieren wir zuerst die Dockerfile-Datei und erstellen dann die Image-Datei mit dem Befehl „Docker Build“. Anschließend können Sie über Docker Run eine Containerinstanz basierend auf der Imagedatei starten. Wenn Sie dann einen Container starten, können Sie einige Parameter in der Image-Datei ändern. Diese Parameter in der Image-Datei werden häufig durch die Dockerfile-Datei definiert. Allerdings können nicht alle Definitionen in der Dockerfile-Datei beim Starten des Containers neu definiert werden. Die Dockerfile-Anweisungen, die von „Docker Run“ nicht überschrieben werden können, lauten wie folgt:
1. Überschreiben Sie die ENTRYPOINT-Anweisung Die ENTRYPOINT-Anweisung in der Dockerfile-Datei wird verwendet, um den Standardeinstiegspunkt nach dem Start des Containers anzugeben.
2. CMD-Befehl überschreiben Die CMD-Anweisung in der Dockerfile-Datei enthält die Standardanweisungen, die nach dem Start des Containers ausgeführt werden sollen. Beim Starten des Containers können Sie neue Befehlsoptionen für „docker run“ festlegen, um die CMD-Anweisung in der Dockerfile-Datei zu überschreiben (die CMD-Anweisung in der Dockerfile-Datei wird nicht mehr konsultiert). Hier ist ein Beispiel:
Wenn die ENTRYPOINT-Anweisung auch in der Dockerfile-Datei deklariert ist, werden die obigen Anweisungen als Parameter an die ENTRYPOINT-Anweisung angehängt. 3. Überschreiben Sie die EXPOSE-Anweisung Die EXPOSE-Anweisung in der Dockerfile-Datei wird verwendet, um Ports für den Host zu reservieren, auf dem sich der Container befindet. Dies ist offenbar eine Funktion des Laufzeitcontainers, sodass Docker Run diese Anweisung bequem überschreiben kann. Hier ist ein Beispiel:
4. ENV-Direktive außer Kraft setzen Die ENV-Anweisung in der Dockerfile-Datei wird verwendet, um die Umgebungsvariablen im Container festzulegen. Beim Starten eines Containers werden die folgenden Umgebungsvariablen automatisch für den Container festgelegt:
Docker Run kann diese Anweisung bequem außer Kraft setzen. Hier ist ein Beispiel: deklarieren -x HOME="/" deklarieren -x HOSTNAME="85bc26a0e200" deklarieren -x OLDPWD deklarieren -x PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" deklarieren -x PWD="/" deklarieren -x SHLVL="1" deklariere -x tief="lila" Festlegen oder Überschreiben von Umgebungsvariablen über Skripte 5. Überschreiben Sie die VOLUME-Anweisung Die VOLUME-Anweisung im Dockerfile wird verwendet, um Datenvolumes für den Container festzulegen.
6. USER-Befehl überschreiben Der Standardbenutzer innerhalb des Containers ist root (uid=0).
Docker run unterstützt die folgenden Formen von -u:
7. Überschreiben Sie die WORKDIR-Direktive Die WORKDIR-Anweisung in der Dockerfile-Datei wird verwendet, um das Arbeitsverzeichnis für nachfolgende Anweisungen festzulegen. Wenn der Pfad nicht existiert, wird er erstellt, auch wenn er in nachfolgenden Anweisungen nicht verwendet wird. In einem können mehrere WORKDIRs existieren. Bei relativen Pfaden erben nachfolgende Anweisungen von der vorherigen Anweisung. In WORKDIR können Sie auf zuvor definierte Umgebungsvariablen verweisen.
Referenzlinks: https://docs.docker.com/engine/reference/run/ https://docs.docker.com/engine/reference/builder/ Zusammenfassen Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, dass der Inhalt dieses Artikels einen gewissen Lernwert für Ihr Studium oder Ihre Arbeit hat. Vielen Dank für Ihre Unterstützung von 123WORDPRESS.COM. Wenn Sie mehr darüber erfahren möchten, schauen Sie sich bitte die folgenden Links an Das könnte Sie auch interessieren:
|
<<: Countdown-Effekt mit Javascript implementieren
>>: JavaScript zum Erzielen eines Dropdown-Menüeffekts
Inhaltsverzeichnis Überblick Beispiel Warum wird ...
brauchen: Verwenden Sie Docker, um den Dualprozes...
Normalerweise verwende ich nginx als Reverse-Prox...
1. Fortsetzen nacos-Datenbank Datenbankname nacos...
Inhaltsverzeichnis Die erste Methode: Router-Link...
1. Legen Sie eine Verzeichnis-Whitelist fest: Leg...
Beim Verknüpfen zweier Tabellen konnte kein Fremd...
Inhaltsverzeichnis Wo werden die Protokolle gespe...
1. Melden Sie sich mit dem IE-Browser beim VPN an...
Ein Prozess ist ein Programmcode, der in der CPU ...
Bereits zu Kernel 2.6-Zeiten wurde ein neues Sich...
Als ich ein WeChat-Applet-Projekt schrieb, gab es...
Ergebnis: Implementierungscode: html <div Klas...
Überblick Backup ist die Grundlage der Notfallwie...
Inhaltsverzeichnis Eckig erreichen Aufrufreihenfo...