Einführung in Docker Docker ist eine Open-Source-Container-Engine für Anwendungen. Im Vergleich zur herkömmlichen virtuellen Maschinentechnologie weist der Docker-Container einen äußerst geringen Leistungsaufwand auf und ist daher bei Entwicklern sehr beliebt. Da immer mehr Entwickler ihre Arbeit auf Docker basieren, werden Docker-Images immer häufiger. In Zukunft können verschiedene vollständige Lösungen auf Unternehmensebene direkt durch Herunterladen von Images verwendet werden. Daher wird Docker immer wichtiger. Zweck dieses Artikels Dieser Artikel stellt anhand eines Projektbeispiels die Verwaltung und Überwachung von Docker-Containern über die externe Docker-Schnittstelle vor. Anwendungsszenarien: Der Server-Ressourcenpool wird einheitlich über Docker verwaltet, Ressourcen werden zugewiesen und Container werden bei Bedarf erstellt, um die Ressourcennutzung zu maximieren. Gleichzeitig wird die Isolierung zwischen verschiedenen Betrieben (Containern) gewährleistet. Und es kann die Online-Bereitstellung von Projekten unterstützen. Dieses Projekt simuliert die oben genannten Szenarien. Der Code ist nicht streng verboten und dient nur zu Lernzwecken. Dieser Artikel 1. Erstellen Sie über die Schnittstelle einen Docker-Tomcat-Container und konfigurieren Sie das Limit. 2. Laden Sie das War-Paket hoch und stellen Sie es im Container bereit. 3. Überwachen Sie dynamisch die Ressourcennutzung aller Docker-Container. Der Code basiert auf der Open-Source-Komponente Docker-Java und die funktionale Entwicklung erfolgt auf Basis von Spring-Boot. Die Schnittstelle ist wie folgt: Grundlegende Umgebung 1. Sonnenfinsternis 2019-03; 2. Docker für Windows. Aus Lern- und Vereinfachungsgründen wird nicht die Linux-Umgebung verwendet, die Prinzipien und grundlegenden Befehle sind jedoch dieselben. Verwandte Technologien und Wissenspunkte: Maven, Spring-Boot; Spring MVC; Spring-Upload und -Download, JQuery Ajax und Upload. Umsetzungsprinzip Docker bietet eine Vielzahl externer Schnittstellen (wie z. B. Restfull-API), über die Docker verwaltet werden kann. Die Open-Source-Komponente Docker-Java wird basierend auf dieser Schnittstelle gekapselt, was die Entwicklung erleichtert. Natürlich gibt es auch andere vorgefertigte Komponenten auf dem Markt, die Sie selbst vergleichen und kennenlernen können. Ich möchte an dieser Stelle den Open-Source-Autoren meinen Dank aussprechen. Vorbereitung vor der Umsetzung 1. Windows aktualisieren Da wir eine Windows-Umgebung verwenden, ist auf meinem eigenen Computer die Win10 Home Edition vorinstalliert und Docker für Windows muss auf einem Betriebssystem höherer Ebene ausgeführt werden, um die Virtualisierungstechnologie nutzen zu können. Daher muss es auf die Professional Edition aktualisiert werden. Wenn Sie ein Upgrade benötigen, ist der Upgrade-Prozess relativ einfach und wird im Folgenden kurz beschrieben (Sie können diesen Schritt überspringen, wenn Sie bereits die Professional-Version besitzen): Klicken Sie auf „Produktschlüssel ändern“, geben Sie den Schlüssel der professionellen Version ein und warten Sie dann, bis das Upgrade fortgesetzt wird. Den Schlüssel können Sie selbst im Internet suchen, da ist er sowieso vorhanden. 2. Installieren Sie Docker für Windows Nach dem Download von der offiziellen Website klicken Sie einfach auf den nächsten Schritt. Nach der Installation wird es automatisch gestartet und das Docker-Logo wird nach dem Start in der Symbolleiste angezeigt. Nachdem die Installation erfolgreich war, können Sie einige Befehle eingeben, um zu testen, ob sie erfolgreich war. Beispiel: Zeigen Sie die grundlegenden Informationen zu Docker an. 3. Ändern Sie die Adresse des Docker-Image. Da die Standardspiegeladresse langsam ist, ein Tomcat-Spiegel mehr als 500 m beträgt und der Download bei einem schlechten Netzwerk sehr langsam ist, können Sie die Spiegeladresse wie folgt auf die NetEase-Spiegeladresse konfigurieren: 4. Starten Sie die Fernverwaltung Überprüfen Sie das letzte Element. Hier handelt es sich bei tcp//xxx um die Remote-Verbindungsadresse. Geben Sie nach dem Start die Adresse in den Browser ein, um zu sehen, ob Ergebnisse zurückgegeben werden: http://localhost:2375/info (diese Adresse entspricht der Eingabe von „docker indo“ in cmd) gibt den Inhalt im JSON-Format zurück: Code-Entwicklung während der Implementierung 1. Erstellen Sie ein Maven-Projekt. Aufgrund der Einfachheit des Vorgangs wird dieser Vorgang weggelassen. Die Codestruktur des gesamten Projekts ist wie folgt: 2. Konfigurieren Sie die Maven-Abhängigkeiten von Docker-Java und Spring Boot. Der endgültige Inhalt der POM-Datei lautet wie folgt Beim Betrachten des JAR-Pakets sollte Docker-Java auf der untersten Ebene die Netty-Abhängigkeit verwenden. 3. Fügen Sie die Spring-Konfigurationsdatei application.properties hinzu Konfigurieren Sie den Speicherort von JSP und die Verwaltungsadresse von Docker. 4. Einführung in die Hauptkategorien: 1. Spring Boot startet die Hauptklasse. Natürlich können Sie auch andere Container konfigurieren oder das Jetty-Plugin von Maven zum Starten verwenden. Sie können auf einen anderen Artikel verweisen: Spring-Boot-Prinzip (mit einem Spring-Boot-Starter-Beispiel) mit Quellcode-Download Achten Sie auf den Speicherort dieser Klasse. Am besten legen Sie sie im Stammverzeichnis ab, damit alle Unterverzeichnisse unter dem Stammverzeichnis von Spring gescannt werden können. 2.DockerClientOperaterServer (Klasse, die mit Docker interagiert), wie folgt: Folgende Methoden sind enthalten: initClient: Initialisiert die Verbindung. getDockerInfo: Grundlegende Informationen zu Docker abrufen; stat: Echtzeitstatistiken; refreshContainers: Ruft grundlegende Informationen aller Container ab und legt sie im Cache ab; createAndStartrContainerAnddeployApp: Erstellt und startet einen Container basierend auf den in der Schnittstelle übergebenen Parametern und stellt gleichzeitig das Projekt bereit. stopContainer: Stoppen Sie den Container; rmContainer: einen Container löschen; closeClient: Verbindung schließen; pushAppToCotainer: War-Paket auf Tomcat bereitstellen; Da der Codeausschnitt zu lang ist, hier ein paar Hauptmethoden: createContainer (Container erstellen): Diese Methode verwendet Docker-Java, um Container zu erstellen, Kontingente zuzuweisen, die Portzuordnung zu konfigurieren usw. pushAppToCotainer: Stellen Sie das Projekt auf Tomcat bereit. stat, Überwachungsmethode: Die Docker-Java-Methode wird nicht zur Überwachung verwendet. Tatsächlich wird sie unterstützt, aber da die zurückgegebenen Ergebnisse verschiedene Verarbeitungsschritte erfordern, wird eine Abkürzungsmethode verwendet. Verwenden Sie Java, um cmd zur Ausführung aufzurufen (Docker-Statistiken), um Überwachungsergebnisse zu erhalten. Der Code für Docker-Java zum Abrufen von Überwachungsinformationen lautet wie folgt: 3.DockerClientController (Controller, der mit der Schnittstelle interagiert). Einführung in die wichtigsten Methoden: addContainer: Container hinzufügen und War-Paket hochladen Das Obige ist die Erklärung des Hauptcodes. Um spezifische Codedetails zu erhalten, laden Sie bitte den Quellcode herunter, starten Sie ihn und folgen Sie den Anweisungen, um ihn anzuzeigen. Die Hauptschnittstelle nach der Implementierung: Da es sich um ein Beispielprojekt handelt, verwendet der Code keine Vue- und Bootstrap-Frameworks. Ich habe selbst einige CSS- und JS-Elemente geschrieben. Die konkreten Auswirkungen sind wie folgt: 1. Monitoring- und Management-Homepage 2. Behälter hinzufügen; Zusammenfassen Oben habe ich Ihnen die dynamischen Verwaltungs- und Überwachungsfunktionen von Docker-Containern auf Basis von Spring-Boot und Docker-Java vorgestellt [mit vollständigem Quellcode-Download]. Ich hoffe, es wird Ihnen helfen. Wenn Sie Fragen haben, hinterlassen Sie mir bitte eine Nachricht und ich werde Ihnen rechtzeitig antworten. Ich möchte auch allen für ihre Unterstützung der Website 123WORDPRESS.COM danken! Wenn Sie diesen Artikel hilfreich finden, können Sie ihn gerne abdrucken und dabei bitte die Quelle angeben. Vielen Dank! Das könnte Sie auch interessieren:
|
<<: So erklären Sie TypeScript-Generika auf einfache Weise
>>: mysql5.7.21 UTF8-Kodierungsproblem und -Lösung in der Mac-Umgebung
In diesem Artikelbeispiel wird der spezifische Co...
Bei der Bedienung und Konfiguration von Linux wir...
Dieser Artikel beschreibt das Beispiel der MySQL-...
Das Document Object Model (DOM) ist eine Plattfor...
Hintergrund: Es gibt ein Flask-Projekt, das eine ...
Lassen Sie uns Nginx installieren und ausprobiere...
In diesem Artikel wird der spezifische Code für J...
MySQL-Zeilen-zu-Spalten-Operation Die sogenannte ...
Mit dem Wissen über CSS-Variablen werde ich den C...
In einer komplexen Tabellenstruktur erstrecken si...
Inhaltsverzeichnis denken 1. Bild mit dem gierige...
<br />So entfernen Sie die Trennlinien einer...
Laden Sie zunächst das Diagramm herunter 1. Deins...
In diesem Artikel wird die Installations- und Kon...
Lassen Sie uns heute darüber sprechen, wie Sie mi...