1. Erstellen Sie zunächst eine Datei hello-world.cpp Der Programmcode lautet wie folgt: #include <iostream> Namespace std verwenden; int haupt () { cout << "hallo-welt" << endl; cout << "mein erster Docker" << endl; gebe 0 zurück; } Beispielsweise habe ich in meinem Home-Pfad ein Verzeichnis DockerFile/hello-world erstellt und darin eine Quelldatei hello-world.cpp erstellt. 2. Schreiben Sie eine DockerFile-Datei Diese Datei und die Quelldatei befinden sich, wie oben gezeigt, in einem Ordner mit dem Namen „hello-dockerfile“ . VON codenvy/cpp_gcc RUN mkdir /home/user/myapp ADD hello-world.cpp /home/Benutzer/meineApp ARBEITSVERZEICHNIS /home/Benutzer/meineApp RUN g++ hallo-welt.cpp -o hallo CMD ["./hallo"] Die Befehle für Dockerfile finden Sie in einem anderen Blog von mir: https://www.jb51.net/article/197996.htm 1. VON codenvy/cpp_gcc Auf FROM folgt das Basisimage, das vom Zielimage verwendet wird. Es kann nur ein Basisimage geben. Sie können den Docker-Suchbefehl verwenden, um das gewünschte Basisimage auf dem Docker-Hub zu finden. Da wir eine C++-Datei kompilieren möchten, können wir ein Image mit g++ oder gcc als Basisimage verwenden. Wir können nach einem Image mit g++ suchen, wie unten gezeigt: Ich verwende beispielsweise die zweite Methode und ziehe das Image dann über den Docker-Pull -Befehl auf den lokalen Computer, wie in der folgenden Abbildung dargestellt. Geben Sie den Befehl „Docker Images“ ein, um alle lokalen Images anzuzeigen, wie in der folgenden Abbildung gezeigt: Ich habe hier beispielsweise zwei Bilder: eines ist das Codenvy/cpp_gcc , das ich gerade heruntergeladen habe, und das andere ist das Ubuntu -Bild. Manche Leute fragen sich vielleicht, warum nicht einfach das Ubuntu-Image verwendet wird? Unserer Meinung nach wird Ubuntu mit den Compilern g++ und gcc geliefert und dieses Image ist relativ klein. Lassen Sie es mich hier erklären: Da das Ubuntu-Image unter Docker nur Dinge behält, die mit dem Ubuntu-Kernel zusammenhängen, wurde alles außerhalb des Kernels so weit wie möglich gelöscht. Dies erklärt auch, warum das Ubuntu-Image, das wir normalerweise installieren, fast zwei GB groß ist, während das Ubuntu-Image von Docker nur mehr als siebzig MB groß ist. In diesem Ubuntu-Image gibt es keine gcc- und g++-Befehle, nicht einmal sudo-Befehle, daher müssen Sie sie manuell herunterladen und konfigurieren. Beispielsweise verwenden wir das Ubuntu-Image, um einen Container zu generieren: Überprüfen Sie dann die Version von g++: Habe festgestellt, dass g++ nicht installiert war Das gilt auch für den sudo-Befehl. 2. Führen Sie mkdir /home/user/myapp aus Beim Erstellen eines Containers ist der RUN -Befehl erforderlich, gefolgt von unseren allgemeinen Linux-Befehlen. Dieser Befehl erstellt einen neuen Ordner „myapp“ im Pfad „/home/user“. 3. ADD hello-world.cpp /home/user/myapp Der Befehl ADD kopiert Dateien vom Hostcomputer in das Image. Sie können auch den Befehl COPY verwenden, aber ADD ist leistungsfähiger als COPY . ADD verfügt über eine Dekomprimierungsfunktion. Dieser Befehl kopiert die im ersten Schritt erstellte Quelldatei „hello-world.cpp“ in den Pfad „/home/user/myapp“ im Image. 4. ARBEITSVERZEICHNIS /home/Benutzer/meineApp Der Befehl WORKDIR gibt beim Erstellen des Containers das Standardarbeitsverzeichnis des Containers an. Dieser Befehl verwendet den Pfad home/user/myapp im Image als Standardarbeitspfad. 5. Führen Sie den Befehl g++ hello-world.cpp -o hello aus. Dieser Befehl verwendet g++, um die Quelldatei hello-world.cpp zu kompilieren und eine ausführbare Datei hello zu erstellen. 6. CMD ["./hallo"] CMD ist der erste Befehl, der ausgeführt wird, nachdem der angegebene Container erstellt wurde. Dieser Befehl führt die ausführbare Datei hello aus, die im vorherigen Schritt erstellt wurde 3. Erstellen Sie ein Bild Verwenden Sie den Befehl: Docker-Build -f ./hello-dockerfile -t my_hello_docker:v1.0.
Der Vorgang der Imageerstellung ist in der folgenden Abbildung dargestellt: Nachdem der Build abgeschlossen ist, überprüfen wir, ob der Build erfolgreich war, und zeigen alle aktuellen lokalen Images über den Befehl „Docker Images“ an: Hier sehen wir ein weiteres Image: my_hello_docker . Dies ist das Image, das wir gerade erstellt haben. Dies zeigt an, dass das Image erfolgreich erstellt wurde. 4. Führen Sie einen Container durch das Image Instanziieren Sie einen Container mit dem folgenden Befehl Docker führt my_hallo_docker aus:v1.0 Dann erhalten Sie die folgende Ausgabe: Die Ausgabe stimmt mit der von uns geschriebenen C++-Datei überein und zeigt an, dass Docker erfolgreich zum Bereitstellen eines einfachen C/C++-Programms und zum Erreichen des Ziels verwendet wurde. Dies ist das Ende dieses Artikels über die Verwendung von Docker zum Bereitstellen eines einfachen C/C++-Programms. Weitere Informationen zum Bereitstellen von C/C++-Programmen mit Docker 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:
|
<<: MySQL-Export ganzer oder einzelner Tabellendaten
>>: Vue implementiert eine kleine Formularvalidierungsfunktion
Starten Sie alle gestoppten Docker-Container mit ...
HTML 4 HTML (nicht XHTML), MIME-Typ ist text/html...
In diesem Artikelbeispiel wird der spezifische Co...
Inhaltsverzeichnis 1. Installieren Sie das Proxy-...
Das beliebteste Tag ist IE8 Browser-Anbieter geben...
Der erste Schritt besteht darin, das komprimierte...
Geben Sie /usr/local/nginx/conf ein sudo cd /usr/...
Der Pseudoklassenselektor :not kann Elemente filt...
In diesem Artikel wird der spezifische Code von j...
Öffnen Sie zunächst die virtuelle Maschine Öffnen...
Inhaltsverzeichnis 1. Installation 2. Importieren...
Szenario: Nach der Installation der neuesten Vers...
Rahmenstil Die Eigenschaft „Border-Style“ gibt an...
Vue implementiert die Palastgitterrotationslotter...
Konfigurieren Sie die Webseitenkomprimierung, um ...