Heim  >  Artikel  >  Java  >  So implementieren Sie die dynamische Verwaltung und Überwachung von Docker-Containern basierend auf Springboot und Docker-Java

So implementieren Sie die dynamische Verwaltung und Überwachung von Docker-Containern basierend auf Springboot und Docker-Java

PHPz
PHPznach vorne
2023-05-12 15:25:061762Durchsuche

Einführung in Docker

Docker ist eine Open-Source-Anwendungscontainer-Engine. Im Vergleich zur herkömmlichen virtuellen Maschinentechnologie ist der Leistungsaufwand für Docker-Container äußerst gering und daher auch bei Entwicklern sehr beliebt. Da es immer mehr Entwickler gibt, die auf Docker basieren, gibt es immer mehr Docker-Images. In Zukunft können verschiedene Komplettlösungen auf Unternehmensebene direkt durch Herunterladen der Images genutzt werden. Daher wird Docker immer wichtiger.

Zweck dieses Artikels

In diesem Artikel wird anhand eines Projektbeispiels vorgestellt, wie Docker-Container über die externe Docker-Schnittstelle verwaltet und überwacht werden.

Anwendungsszenario:

Vereinheitlichen Sie den Serverressourcenpool über Docker, weisen Sie Ressourcen zu und erstellen Sie Container nach Bedarf, um die Ressourcennutzung zu maximieren. Gleichzeitig wird die Isolation zwischen den einzelnen Unternehmen (Containern) gewährleistet. Und kann die Online-Bereitstellung von Projekten unterstützen.

1. Erstellen Sie über die Schnittstelle einen Docker-Tomcat-Container und konfigurieren Sie das Limit.

2. Laden Sie das Kriegspaket hoch und stellen Sie es im Container bereit.

3. Überwachen Sie dynamisch die Ressourcennutzung aller Docker-Container.

Der Code basiert auf Docker-Java-Open-Source-Komponenten und die Funktionsentwicklung wird auf Basis von Spring-Boot abgeschlossen. Die Schnittstelle ist wie folgt:

So implementieren Sie die dynamische Verwaltung und Überwachung von Docker-Containern basierend auf Springboot und Docker-Java

Basisumgebung

1, Eclipse 2019-03;

2, Docker für Windows. Aus Lern- und Vereinfachungsgründen wird nicht die Linux-Umgebung verwendet, die Prinzipien und Grundbefehle sind jedoch dieselben.

Verwandte Technologien und Wissenspunkte:

Maven, Spring-Boot; Spring MVC; JQuery Ajax und Upload.

Implementierungsprinzip

Docker bietet eine Fülle externer Schnittstellen (z. B. Restfull API), über die Docker verwaltet werden kann. Die Docker-Java-Open-Source-Komponente ist auf Basis dieser Schnittstelle gekapselt, was die Entwicklung erleichtert. Natürlich gibt es auch andere Paketkomponenten auf dem Markt, die Sie vergleichen und selbst lernen können. Vielen Dank an die Open-Source-Autoren hier.

Vorbereitung vor dem Implementierungsprozess

1. Windows aktualisieren

Da wir eine Windows-Umgebung verwenden, ist auf dem Computer des Autors die Win10-Home-Version vorinstalliert und Docker für Windows muss auf einer höheren Ebene ausgeführt werden Betriebssystem: Um die Virtualisierungstechnologie nutzen zu können, müssen Sie auf die professionelle Version aktualisieren.

Wenn Sie ein Upgrade benötigen, ist der Upgrade-Prozess relativ einfach wie folgt (Sie können ihn überspringen, wenn Sie bereits eine professionelle Version haben):

So implementieren Sie die dynamische Verwaltung und Überwachung von Docker-Containern basierend auf Springboot und Docker-Java

Klicken Sie auf Produktschlüssel ändern, geben Sie die professionelle Version ein drücken Sie die Taste und warten Sie langsam. Aktualisiert. Sie können den Schlüssel selbst online finden, er ist sowieso da.

2. Installieren Sie Docker für Windows

Gehen Sie zum Herunterladen auf die offizielle Website und machen Sie dann einfach den nächsten Schritt. Nach der Installation startet es von selbst und das Docker-Logo erscheint nach dem Start in der Symbolleiste.

So implementieren Sie die dynamische Verwaltung und Überwachung von Docker-Containern basierend auf Springboot und Docker-Java

Nach erfolgreicher Installation können Sie einige Befehle eingeben, um zu testen, ob die Installation erfolgreich ist. Beispiel: Grundlegende Informationen zu Docker anzeigen.

So implementieren Sie die dynamische Verwaltung und Überwachung von Docker-Containern basierend auf Springboot und Docker-Java

3. Ändern Sie die Docker-Image-Adresse.

Da die Standard-Spiegeladresse langsam ist, ist ein Tomcat-Spiegel länger als 500 Meter. Wenn das Netzwerk nicht gut ist, ist der Download sehr langsam. Sie können die Spiegeladresse wie folgt auf die Spiegeladresse von NetEase konfigurieren

So implementieren Sie die dynamische Verwaltung und Überwachung von Docker-Containern basierend auf Springboot und Docker-Java4. Starten Sie die Fernverwaltung

Überprüfen Sie den letzten Punkt, wobei tcp//xxx die Remote-Verbindungsadresse ist.

So implementieren Sie die dynamische Verwaltung und Überwachung von Docker-Containern basierend auf Springboot und Docker-JavaGeben Sie nach dem Start die Adresse in den Browser ein, um zu sehen, ob das Ergebnis zurückgegeben werden kann:

(Diese Adresse entspricht der Eingabe von docker indo in cmd) Der zurückgegebene Inhalt liegt im JSON-Format vor:

So implementieren Sie die dynamische Verwaltung und Überwachung von Docker-Containern basierend auf Springboot und Docker-Java

Implementierungsprozess der Codeentwicklung

1. Erstellen Sie ein Maven-Projekt.

Da der Vorgang einfach ist, wird dieser Vorgang weggelassen. Die Codestruktur des gesamten Projekts ist wie folgt:

So implementieren Sie die dynamische Verwaltung und Überwachung von Docker-Containern basierend auf Springboot und Docker-Java2. Konfigurieren Sie die Maven-Abhängigkeiten von Docker-Java und Spring Boot. Der endgültige Inhalt der POM-Datei ist wie folgt

So implementieren Sie die dynamische Verwaltung und Überwachung von Docker-Containern basierend auf Springboot und Docker-Java

Wenn man sich das JAR-Paket ansieht, sollte die unterste Schicht von Docker-Java 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.

So implementieren Sie die dynamische Verwaltung und Überwachung von Docker-Containern basierend auf Springboot und Docker-Java

4. Einführung in die Hauptklassen:

1.

Natürlich können Sie auch andere Container konfigurieren oder zum Starten das Jetty-Plugin von Maven verwenden.

Sie können auf einen anderen Artikel verweisen: Spring-Boot-Prinzip (mit der Implementierung einer Spring-Boot-Starter-Instanz) mit Quellcode-Download

So implementieren Sie die dynamische Verwaltung und Überwachung von Docker-Containern basierend auf Springboot und Docker-Java

Achten Sie auf den Speicherort dieser Klasse, am besten platzieren Sie sie im Stammverzeichnis, sodass es sich unter dem Stammverzeichnis befindet. Alle Unterverzeichnisse können von Spring gescannt werden.

2.dockerclientoperaterserver (Klasse, die mit Docker interagiert), wie folgt:

Enthält die folgenden Methoden:

initclient: Initialisierungslink.

getdockerinfo: Grundlegende Informationen zu Docker abrufen;

statistische Informationen: Grundlegende Informationen zu allen Containern abrufen und in den Cache stellen;

createandstartrcontaineranddeployapp: Container gemäß den übergebenen Parametern erstellen und starten die Schnittstelle und stellen Sie gleichzeitig das Projekt bereit;

rmcontainer: Den Container löschen;

pushaptocotainer: Das Kriegspaket für Tomcat bereitstellen; Das Code-Snippet ist zu lang. Hier sind einige Hauptmethoden:

createcontainer (Container erstellen):

Diese Methode verwendet Docker-Java, um einen Container zu erstellen, Kontingente zuzuweisen, Port-Mapping zu konfigurieren usw.

pushapptocotainer: Stellen Sie das Projekt für Tomcat bereit.

So implementieren Sie die dynamische Verwaltung und Überwachung von Docker-Containern basierend auf Springboot und Docker-Java

Stat, Überwachungsmethode:

Es gibt keine Docker-Java-Methode zur Überwachung dieses Teils. Da die zurückgegebenen Ergebnisse jedoch verschiedene Verarbeitungsschritte erfordern, muss ich Folgendes tun: verwendete Methode des Opportunismus. Verwenden Sie Java, um cmd zum Ausführen aufzurufen (Docker-Statistiken), um Überwachungsergebnisse zu erhalten.

So implementieren Sie die dynamische Verwaltung und Überwachung von Docker-Containern basierend auf Springboot und Docker-Java

docker-java Der Code zum Abrufen von Überwachungsinformationen lautet wie folgt:

3.dockerclientcontroller (Controller, der mit der Schnittstelle interagiert). So implementieren Sie die dynamische Verwaltung und Überwachung von Docker-Containern basierend auf Springboot und Docker-Java

Einführung in die Hauptmethoden:

addcontainer: Container hinzufügen und Kriegspaket hochladen

So implementieren Sie die dynamische Verwaltung und Überwachung von Docker-Containern basierend auf Springboot und Docker-Java

Das Obige ist die Erklärung des Hauptcodes.

Für spezifische Codedetails laden Sie bitte den Quellcode herunter und folgen Sie dem Vorgang, um ihn anzuzeigen.

Die Hauptschnittstelle nach der Implementierung: So implementieren Sie die dynamische Verwaltung und Überwachung von Docker-Containern basierend auf Springboot und Docker-Java

Da es sich um ein Beispielprojekt handelt, verwendet der Code nicht die Vue- und Bootstrap-Frameworks. Ich habe selbst ein paar CSS- und JS-Dateien geschrieben. Die spezifischen Auswirkungen sind wie folgt:

1. Überwachungs- und Verwaltungshomepage

2. Container hinzufügen;

Das obige ist der detaillierte Inhalt vonSo implementieren Sie die dynamische Verwaltung und Überwachung von Docker-Containern basierend auf Springboot und Docker-Java. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:yisu.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen