[Docker] Andere häufig verwendete (wahrscheinlich) Docker-Anweisungen

Als nächstes werden wir dieses Mal COPY, ADD, CMD, ENTRYPOINT, ENV, WORKDIR vorstellen.

COPY Wird verwendet, wenn Dateien vom Host an den Container übergeben werden.

Wie schreibt man


COPY <Dateiname zum Kopieren> <Kopieren Sie das Zielverzeichnis in den Container>

Dies ist ein einfaches Beispiel, aber es ist eine Beschreibung beim Erstellen eines Verzeichnisses unter Ubuntu OS und beim Kopieren von Dateien.

Dockerfile


FROM ubuntu:latest
RUN mkdir /test_dir
COPY hoge.txt /test_dir

Es gibt einen weiteren Befehl zum Hinzufügen einer Datei zum Container mit dem Namen "ADD". ADD Es ist ein Befehl, der Dateien und Ordner in einen Container kopieren kann, aber es gibt einen entscheidenden Unterschied zu "KOPIEREN". Sie können die komprimierte Datei von tar ** kopieren + dekomprimieren **. Wenn die Datei schwer ist oder die in der Ordnerhierarchie zu übertragende Größe groß ist und unverändert an den Container übergeben wird, dauert es einige Zeit, bis sie an den Container übergeben wird. In einem solchen Fall ist die Übertragung selbst schnell und wird im dekomprimierten Zustand erweitert, wenn Sie beim Komprimieren mit Teer und beim Kopieren in den Container in "ADD" schreiben.

Wie schreibt man


ADD <Zu kopierender komprimierter Dateiname> <Kopieren Sie das Zielverzeichnis in den Container>

Der einzige Unterschied zu COPY besteht darin, ob die Datei komprimiert ist. Daher werde ich das Beispiel weglassen.

ENTRYPOINT Geben Sie wie bei "CMD" den letzten Befehl an, der während des Docker-Laufs ausgeführt werden soll. CMD kann einen Befehl während des Docker-Laufs überschreiben, aber ENTRYPOINT kann den letzten Befehl nicht überschreiben. Was die Beschreibungsmethode betrifft, gibt "CMD" das Argument nacheinander wie ["Befehl" (, "Argument 1", "Argument 2")] an, aber "ENTRYPOINT" gibt nur den Befehl an, und das Argument ist Geben Sie mit "CMD" an. ** Der Befehl kann nicht für "ENTRYPOINT" geändert werden, aber der durch "CMD" angegebene Argumentteil kann überschrieben werden. ** ** **

Wie schreibe ich im Fall von CMD


FROM ubuntu:latest
CMD ["Befehl", "Argument 1", "Argument 2"]

Wie schreibe ich im Fall von ENTRY POINT


FROM ubuntu:latest
ENTRYPOINT ["Befehl"]
CMD ["Argument 1", "Argument 2"]

Grundsätzlich denke ich, dass "CMD" genug ist.

ENV Sie können Umgebungsvariablen festlegen. Es gibt verschiedene Möglichkeiten, dies zu beschreiben. Es ist auch möglich, mehrere Elemente nebeneinander zu schreiben, wie im dritten Beispiel unten gezeigt.

Wie schreibt man


ENV key1 val
ENV key2=val
ENV key3=val3 key3=val3

Wenn Sie mehrere Elemente gleichzeitig schreiben und der Wert der Umgebungsvariablen (Wert oben) einen halben Bereich enthält, kann dies festgelegt werden, indem Sie ihn in doppelte Anführungszeichen setzen oder maskieren.

So beschreiben Sie mehrere ENV-Einstellungen in einer Zeile


ENV key4="v a l 4" key5=v\ a\ l\ 5

Wenn es nur eine Zeile gibt, können Sie wie folgt schreiben.

So beschreiben Sie Umgebungsvariableneinstellungen gemischt mit Leerzeichen in einer ENV


ENV key6 v a l 6

Jetzt können Sie beispielsweise den Pfad innerhalb des Containers übergeben.

WORKDIR Sie können das Verzeichnis ändern, in dem der von RUN ausgeführte Befehl ausgeführt wird, der in der Docker-Datei beschrieben ist.

Wie schreibt man


WORKDIR absoluter Weg

Wenn es sich um "cd" handelt, kehrt es jedes Mal, wenn "RUN" ausgeführt wird, zum Stammverzeichnis zurück. Wenn Sie also das Arbeitsverzeichnis reparieren und "RUN" ausführen möchten, verschieben Sie das Verzeichnis mit "WORKDIR". ..

Das Ende

Dieser Befehl schließt die Einführung grundlegender Docker-Anweisungen ab. Durch die Kombination mit den zuletzt eingeführten Befehlen können Sie die häufig verwendeten Befehle abdecken. Docker ist praktisch, also versuchen Sie es bitte.

Recommended Posts

[Docker] Andere häufig verwendete (wahrscheinlich) Docker-Anweisungen
Zusammenfassung der häufig verwendeten Befehle in Rails und Docker
Häufig verwendeter Docker-Compose-Befehl
Häufig verwendete Java-Generika
Java Häufig verwendete Anweisungsliste (für Anfänger und Anfänger)
Die häufig verwendeten Bedienungshinweise von IntelliJ
Häufig verwendete Prozesse in SpreadSheet
Schienenkonsole Häufig verwendete Operationen
Häufig verwendete Maven-Befehlssammlung