1. Vorwort
Möglicherweise gibt es einige Studenten, die das Docker -Projekt nicht verstehen. Docker ist in der GO -Sprache geschrieben. Es handelt sich um ein leichtes Projekt mit virtuellen Technologie, das schnell bereitgestellt wird. Es ermöglicht Entwicklern, ihre Programme zu verpacken und Umgebungen auszuführen und sie zu einem Docker -Image (Mirror) zu machen. Stellen Sie sie auf diese Weise auf dem Server ein. Sie müssen dieses Bild nur herunterladen, um das Programm auszuführen, das Problem zu vermeiden, verschiedene Abhängigkeiten und Umgebungen jedes Mal zu installieren und auch die Isolation zwischen Anwendungen zu erreichen.
2. Vorbereitung erkennen
Ich werde zuerst eine einfache Node.js -Web -App erstellen, um einen Spiegel zu erstellen. Führen Sie dann einen Container basierend auf diesem Bild aus. Dies ermöglicht eine schnelle Bereitstellung.
Aus Netzwerkgründen wurde mein Node.js -Bild aus der inländischen Bildbibliothek und nicht aus Docker Hub heruntergeladen.
Ziehen wir zunächst das NodeJS -Bild von der Inlandsspiegel -Website.
Docker Pull hub.c.163.com/nce2/nodejs:0.12.2
Überprüfen Sie nach dem Herunterladen unser Bild und finden Sie seinen Namen. Wir werden es später verwenden.
3. Erstellen Sie Node.js Programm
Erstellen Sie Package.json und schreiben Sie verwandte Informationen und Abhängigkeiten
vi package.json
{ "name": "webtest", "version": "1.0.0", "description": "Node.js on Docker", "author": "lpxxn", "main": "server.js", "scripts": { "start": "node server.js" }, "dependencies": { "express": "^4.13.3" }}Server.js erstellen
VI Server.js
Schreiben Sie das einfachste Web. Dieses Web basiert auf dem Express -Framework und gibt Hello Word zurück. Beachten Sie, dass wir Port 8888 hören
'verwenden strict'; var expression = require ('express'); var port = 8888; var app = express (); app.get ('/', function (req, res) {res.send ('hello world/n');}); app.listen (port); console.log ('laufend auf http: // localHost:' + port);4. Erstellen Sie eine Dockerfile
Als nächstes tritt der Protagonist die Bühne, um die Dockerfile -Datei zu erstellen. Diese Datei ist eine erforderliche Datei zum Erstellen des Bildes.
vi Dockerfile
Docker erstellt ein Bild gemäß dem Inhalt der Dockerfile. Ich werde zuerst den vollständigen Code geben und ihn dann einzeln erklären
Von hub.c.163.com/nce2/nodejs:0.12.2# App Directoryrun Mkdir -p/home/serviceworkdir/home/Service# Bundle App SourceCopy. /home/servicerun npm Installexpose 8888cmd ["Npm", "Start"]
Erklären wir den Satz nach Satz
Von hub.c.163.com/nce2/nodejs:0.12.2
Aus dem grundlegenden Quellbild zum Erstellen des Bildes. hub.c.163.com/nce2/nodejs:0.12.2 ist der Name des Bildes, das das Bild ist, das wir am Anfang vom Inlandserver heruntergezogen haben. Wenn es vor Ort keinen Docker gibt, zieht es das Bild selbst.
# App DirectoryRun MKDIR -P /HOME /SERVICEWORKDIR /Home /Service erstellen
Der erste Satzlauf wird verwendet, um einen Ordner im Bild zu erstellen und in Zukunft unseren Code zu speichern.
Der zweite Satz, WorkDir, besteht darin, den Ordner zu verwenden, den wir als Arbeitsverzeichnis erstellt haben.
# Bündel App SourceCopy. /Home/Servicerun NPM Installation
Die erste Satzkopie besteht darin, alle Dateien im aktuellen Verzeichnis des Geräts in den Bild /Home /Service -Bild des Bildes zu kopieren.
Der zweite Satzlauf verwendet NPM, um alle für unsere App erforderlichen Abhängigkeiten zu installieren.
Entdecken Sie 8888
Da unsere Web -App für Port 8888 hört, stellen wir diesen Port dem Host aus, damit ich von außen auf das Web zugreifen kann.
CMD ["NPM", "Start"]
Ich glaube, ich kann sagen, was er tut, ohne es zu erklären. Führen Sie den Befehl npm start . In diesem Befehl wird Node Service.js ausgeführt
Starten Sie unsere Web -App.
5. Bild erstellen
Führen Sie den folgenden Befehl im Verzeichnis aus, in dem sich Ihre Dockerfile befindet, um ein Bild zu erstellen.
Docker Build -t MynodeApp.
Vergessen Sie nicht den letzten Punkt
Schauen Sie sich nach dem Gebäude unser Bild an
6. Führen Sie den Spiegel aus
Docker Run -d -p 8888: 8888 AC5
-D gibt an, dass der Container im Hintergrund ausgeführt wird. -P zeigt die Portzuordnung an, kartieren Sie die 8888 -Produkte der lokalen Maschine auf den 8888 -Port des Containers, sodass das externe Netzwerk über die 8888 -Produkte der lokalen Maschine auf unser Web zugreifen kann.
Der AC5 dahinter ist unsere Bild -ID. Da die ersten 3 dieses Bild bereits finden können, habe ich Folgendes nicht aufgeschrieben.
Überprüfen Sie die ID des Containers, die wir gerade über Docker PS geleitet haben
Druckprotokoll 7370 ist unsere Container -ID. Genau wie Image ID können Sie alles schreiben. Ich bin faul und schreibe die ersten 4 Ziffern, was ausreicht, um diesen Container zu identifizieren.
Docker -Protokolle 7350
Wenn Sie an die folgenden Befehle im Container denken, können Sie nach dem Eintritt unter normalen Linux arbeiten. Wenn Sie beenden möchten, können Sie den Befehl exit ausführen.
7. Test
Überprüfen wir zunächst, ob wir über Curl auf unser Web zugreifen können.
curl -i localhost: 8888
Sie können es auch über den Browser überprüfen
8. Zusammenfassung
Okay, dieses Tutorial ist hier. Hast du es gelernt? Ich hoffe, dieser Artikel hilft Ihnen beim Einstieg. Wenn Sie Fragen oder Fragen haben, können Sie eine Nachricht zur Kommunikation überlassen. Vielen Dank für Ihre Unterstützung bei Wulin.com.