Dockerfile ist eine Textdatei, die Anweisungen enthält. Jede Anweisung erstellt eine Ebene, sodass der Inhalt jeder Anweisung beschreibt, wie die Ebene erstellt werden soll. Dockerfile unterstützt die Shell-ähnliche Methode zum Beenden der Befehlszeile durch Hinzufügen von „\“ am Ende der Zeile und das Kommentarformat „#“ am Anfang der Zeile. Hinweis bei der Verwendung von Dockerfile zum Erstellen eines Docker-Images: (1) Versuchen Sie, ein Basissystemabbild auszuwählen, das Ihren Anforderungen entspricht, aber kleiner ist; (2) Bereinigen Sie temporäre Dateien wie kompilierte Dateien und den Cache des Installationspakets. (3) Geben Sie bei der Installation jeder Software die genaue Versionsnummer an und vermeiden Sie die Einführung unnötiger Abhängigkeiten. (4). Fügen Sie eine .dockerignore-Datei hinzu oder verwenden Sie ein sauberes Arbeitsverzeichnis. Allgemeine Anweisungen für Dockerfile:(1).FROM: wird verwendet, um das zu erstellende Basis-Image anzugeben. Dies ist normalerweise die erste Anweisung im Docker-File. (2) LABEL: wird verwendet, um Beschriftungen hinzuzufügen, die beim Organisieren von Bildern, Aufzeichnen von Lizenzinformationen, Unterstützen von automatisierten Builds usw. helfen. Beschriftungen sind als Zeichenfolgen gespeicherte Schlüssel-Wert-Paare. (3). RUN: Wird verwendet, um Befehle im Image auszuführen, wodurch eine neue Image-Ebene erstellt wird. Jeder RUN-Befehl erstellt eine neue Image-Ebene und kombiniert immer apt-get update und apt-get install in einem RUN. Der RUN-Befehl hat zwei Formate:A. Shell-Format: RUN <Befehl>, genau wie der Befehl, der direkt in die Befehlszeile eingegeben wird; B.exec-Format: RUN ["ausführbare Datei", "Parameter 1", "Parameter 2"]; (4) COPY: Unterstützt das einfache Kopieren lokaler Dateien in den Container. Der COPY-Befehl wird üblicherweise verwendet, um dem Image Anwendungscode zuzuweisen. (5).EXPOSE: wird verwendet, um die von der Anwendung verwendeten Netzwerkports aufzuzeichnen; (6).ENTRYPOINT: wird verwendet, um das Programm anzugeben, das standardmäßig ausgeführt wird, nachdem das Image im Containermodus gestartet wurde; (7).ENV: Aktualisiert die Umgebungsvariable PATH für im Container installierte Programme. Das folgende Dockerfile wird zum Kompilieren und Ausführen direkt im Container https://github.com/fengbingchun/Messy_Test verwendet: VON Ubuntu:16.04 LABEL-Betreuer="FengBingchun [email protected]" \ version="1.0" \ Beschreibung="Dockerfile-Test" RUN dep_items='git cmake g++-5' \ && apt-get update \ && apt-get install -y $dep_items \ && ln -s /usr/bin/g++-5 /usr/bin/g++ \ && rm -rf /var/lib/apt/lists/* Erstellen Sie das Image. Nach der Ausführung des folgenden Befehls wird erfolgreich ein Image mit dem Namen fengbingchun/ubuntu:16.04 generiert: Docker-Build -t Fengbingchun/Ubuntu:16.04. Erstellen Sie durch Einbinden des Hostverzeichnisses einen neuen Containertest und führen Sie den folgenden Befehl aus: docker run -it -P --name test --mount Typ=binden,Quelle=e:\GitCode\docker,Ziel=/home/fengbingchun fengbingchun/ubuntu:16.04 /bin/bash Wechseln Sie dann im Container in das Verzeichnis /home/fengbingchun, klonen Sie Messy_Test und führen Sie den folgenden Befehl aus: Git-Klon https://github.com/fengbingchun/Messy_Test Wechseln Sie dann in das Verzeichnis cd Messy_Test/prj/linux_cmake_CppBaseTest und führen Sie die folgenden Befehle nacheinander aus ./build.sh ./build/CppBaseTest Das Ausführungsergebnis ist in der folgenden Abbildung dargestellt und zeigt an, dass das von Dockerfile erstellte Image Messy_Test normal kompilieren und ausführen kann: Speichern Sie das Image fengbingchun/ubuntu:16.04 in einem Tarball und führen Sie den folgenden Befehl aus: docker save -o ubuntu_16.04.tar fengbingchun/ubuntu:16.04 Kopieren Sie ubuntu_16.04.tar auf das Ubuntu-System, laden Sie ein Image aus dem Tarball und führen Sie den folgenden Befehl aus: Docker-Laden -i Ubuntu_16.04.tar Führen Sie dann ähnliche Vorgänge unter Windows aus, kompilieren und führen Sie Messy_Test im neu erstellten Containertest aus und führen Sie die folgenden Befehle nacheinander aus: docker run -it -P --name test --mount Typ=binden,Quelle=/home/xxxx/Disk/GitHub/docker,Ziel=/home/fengbingchun fengbingchun/ubuntu:16.04 /bin/bash cd /home/fengbingchun/ Git-Klon https://github.com/fengbingchun/Messy_Test cd Messy_Test/prj/linux_cmake_CppBaseTest/ ./build.sh ./build/CppBaseTest Das Ausführungsergebnis ist in der folgenden Abbildung dargestellt: Es zeigt, dass das unter Windows generierte Image nach dem Verpacken und Laden unter Ubuntu normal verwendet werden kann. Damit ist dieser Artikel über die Schritte zum Erstellen eines Docker-Images mit Dockerfile abgeschlossen. Weitere Informationen zum Erstellen eines Docker-Images mit Dockerfile finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen! Das könnte Sie auch interessieren:
|
<<: Erstellen eines sekundären Menüs mit JavaScript
>>: Einfacher Webseitencode, der im NetEase-Blog verwendet wird
Dieser Artikel veranschaulicht anhand eines Beisp...
Inhaltsverzeichnis 1 Node.js-Methode zum Senden v...
Inhaltsverzeichnis Hafenbezogene Konzepte: Bezieh...
Inhaltsverzeichnis 1. Herunterladen 2. Installati...
Inhaltsverzeichnis Überblick Indexdatenstruktur B...
Wenn Ihre Webanwendung nur auf einer Maschine läu...
1. Befehlseinführung Der Befehl usermod (user mod...
In diesem Artikel wird das Tutorial zur kostenlos...
Zunächst müssen wir verstehen, dass ein TCP-Socke...
Inhaltsverzeichnis 1. Was ist eine Komponente? 2....
Sie können sehen, dass ihre visuellen Effekte sehr...
Eine Hyperlink-URL in Vm muss mit Chinesisch als P...
Inhaltsverzeichnis 1. ES-Syntax-Getter und -Sette...
Inhaltsverzeichnis Zusammenfassung Gesamtprozess ...
1. Ich habe ein VPS- und CentOS-System gekauft un...