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:
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):
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.
Nach erfolgreicher Installation können Sie einige Befehle eingeben, um zu testen, ob die Installation erfolgreich ist. Beispiel: Grundlegende Informationen zu Docker anzeigen.
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
4. Starten Sie die Fernverwaltung
Überprüfen Sie den letzten Punkt, wobei tcp//xxx die Remote-Verbindungsadresse ist.
Geben 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:
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:
2. Konfigurieren Sie die Maven-Abhängigkeiten von Docker-Java und Spring Boot. Der endgültige Inhalt der POM-Datei ist wie folgt
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.
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
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. 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. docker-java Der Code zum Abrufen von Überwachungsinformationen lautet wie folgt:
3.dockerclientcontroller (Controller, der mit der Schnittstelle interagiert).
Einführung in die Hauptmethoden: addcontainer: Container hinzufügen und Kriegspaket hochladen 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:
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!