recherche
MaisonJavajavaDidacticielComment implémenter la gestion et la surveillance dynamiques des conteneurs Docker basés sur Springboot et Docker-Java

docker introduction

docker est un moteur de conteneur d'applications open source Par rapport à la technologie de machine virtuelle traditionnelle, la surcharge de performances du conteneur Docker est extrêmement faible, elle l'est donc également. largement utilisé par les développeurs. Comme il y a de plus en plus de développeurs basés sur Docker, le nombre d'images Docker est devenu plus riche. À l'avenir, diverses solutions complètes au niveau de l'entreprise pourront être utilisées directement en téléchargeant les images. Docker devient donc de plus en plus important.

Objectif de cet article

Cet article utilise un exemple de projet pour présenter comment gérer et surveiller les conteneurs Docker via l'interface externe Docker.

Scénario d'application :

Gérez le pool de ressources du serveur de manière unifiée via Docker, allouez des ressources et créez des conteneurs à la demande pour maximiser l'utilisation des ressources . Parallèlement, l'isolement entre chaque entreprise (conteneur) est assuré. Et peut prendre en charge le déploiement en ligne de projets.

1. Créez un conteneur Docker Tomcat via l'interface et configurez la limite.

2. Téléchargez le package war et déployez-le dans le conteneur.

3. Surveillez dynamiquement l'utilisation des ressources de tous les conteneurs Docker.

Le code est basé sur des composants open source docker-java et le développement des fonctions est terminé sur la base de spring-boot. L'interface est la suivante :

Comment implémenter la gestion et la surveillance dynamiques des conteneurs Docker basés sur Springboot et Docker-Java

Environnement de base

1, éclipse 2019- 03;# 🎜🎜#

2, docker pour Windows. Dans un souci d'apprentissage et de simplicité, l'environnement Linux n'est pas utilisé, mais les principes et commandes de base sont les mêmes.

Points de technologie et de connaissances associés :

maven, spring-boot ; spring mvc ; spring upload et download, jquery ajax et upload.

Principe d'implémentation

Docker fournit une multitude d'interfaces externes (telles que l'API restfull), à travers lesquelles Docker peut être géré. Le composant open source docker-java est encapsulé sur la base de cette interface, ce qui facilite le développement. Bien entendu, il existe d’autres composants packagés sur le marché que vous pouvez comparer et apprendre par vous-même. Merci aux auteurs open source ici.

Préparation avant mise en œuvre

1. Mettre à niveau Windows

Puisque nous utilisons un environnement Windows, l'auteur Mon l'ordinateur est préinstallé avec la version familiale Win10 et Docker pour Windows doit fonctionner sur un système d'exploitation de niveau supérieur pour utiliser la technologie de virtualisation, je dois donc passer à la version professionnelle.

Si vous avez besoin d'une mise à niveau, le processus de mise à niveau est relativement simple. Une brève introduction est la suivante (vous pouvez l'ignorer si vous disposez déjà d'une version professionnelle) :

# 🎜🎜#

# 🎜🎜#Cliquez pour modifier la clé de produit, entrez la clé de version professionnelle et attendez la mise à niveau. Vous pouvez trouver la clé en ligne par vous-même, elle est là de toute façon. Comment implémenter la gestion et la surveillance dynamiques des conteneurs Docker basés sur Springboot et Docker-Java

2. Installez Docker pour Windows

Après le téléchargement depuis le site officiel, passez à l'étape suivante. Après l'installation, il démarrera tout seul et le logo Docker apparaîtra sur la barre d'outils après le démarrage.

Une fois l'installation réussie, vous pouvez taper quelques commandes pour tester si elle a réussi. Par exemple : affichez des informations de base sur Docker. Comment implémenter la gestion et la surveillance dynamiques des conteneurs Docker basés sur Springboot et Docker-Java

3. Comment implémenter la gestion et la surveillance dynamiques des conteneurs Docker basés sur Springboot et Docker-Java

Étant donné que l'adresse du miroir par défaut est lente, un miroir Tomcat fait plus de 500 mètres de long. Si le réseau n'est pas bon, le téléchargement sera très lent. Vous pouvez configurer l'adresse du miroir sur l'adresse du miroir de NetEase. , comme suit :

# 🎜🎜#

4. Démarrer la gestion à distance

Comment implémenter la gestion et la surveillance dynamiques des conteneurs Docker basés sur Springboot et Docker-JavaVérifiez le dernier élément, le tcp//xxx voici le adresse de connexion à distance.

Après avoir commencé, saisissez l'adresse dans le navigateur pour voir si les résultats peuvent être renvoyés :

Comment implémenter la gestion et la surveillance dynamiques des conteneurs Docker basés sur Springboot et Docker-Java (Cette adresse est la même chose que Enter docker indo in cmd) Le contenu renvoyé est au format json :

Développement du code du processus d'implémentationComment implémenter la gestion et la surveillance dynamiques des conteneurs Docker basés sur Springboot et Docker-Java# 🎜 🎜#

1. Créez un projet maven.

Le processus étant simple, ce processus est omis. La structure du code de l'ensemble du projet est la suivante :

2 Configurez les dépendances maven de docker-java et spring boot. est le suivant

Comment implémenter la gestion et la surveillance dynamiques des conteneurs Docker basés sur Springboot et Docker-Java

En regardant le package jar, la couche inférieure de docker-java devrait utiliser la dépendance netty.

3. Ajoutez le fichier de configuration Spring application.properties

Configurez l'emplacement de jsp et l'adresse de gestion de docker.

Comment implémenter la gestion et la surveillance dynamiques des conteneurs Docker basés sur Springboot et Docker-Java

4. Introduction à la classe principale :

1. Classe principale de démarrage de Spring Boot.

Bien sûr, vous pouvez également configurer d'autres conteneurs ou utiliser le plug-in jetty de maven pour commencer.

Vous pouvez vous référer à un autre article : principe spring-boot (avec implémentation d'une instance spring-boot-starter) avec téléchargement du code source

Comment implémenter la gestion et la surveillance dynamiques des conteneurs Docker basés sur Springboot et Docker-Java

Faites attention à l'emplacement de cette classe, il est préférable de la placer dans le répertoire racine, afin qu'il se trouve sous le répertoire racine. Tous les sous-répertoires peuvent être analysés d'ici le printemps.

2.dockerclientoperaterserver (classe qui interagit avec docker), les détails sont les suivants :

Comprend les méthodes suivantes :

initclient : Lien d'initialisation.

getdockerinfo : obtenez des informations de base sur Docker ;

stat : informations statistiques en temps réel ;

refreshcontainers : obtenez des informations de base sur tous les conteneurs et mettez-les dans le cache 

createandstartrcontaineranddeployapp : créez et démarrez des conteneurs en fonction des paramètres transmis ; l'interface et déployez le projet en même temps ;

stopcontainer : Arrêtez le conteneur ;

rmcontainer : Supprimez le conteneur

closeclient : Fermez le lien

pushapptocotainer : Déployez le package war sur tomcat ; l'extrait de code est trop long, voici quelques méthodes principales :

Comment implémenter la gestion et la surveillance dynamiques des conteneurs Docker basés sur Springboot et Docker-Javacreatecontainer (créer un conteneur) :

Cette méthode utilise docker-java pour créer un conteneur, allouer des quotas, configurer le mappage des ports, etc.

pushapptocotainer : Déployer le projet sur tomcat

Comment implémenter la gestion et la surveillance dynamiques des conteneurs Docker basés sur Springboot et Docker-Javastat, méthode de surveillance :

Il n'y a pas de méthode docker-java pour surveiller cette partie. En fait, elle est prise en charge, mais comme les résultats renvoyés nécessitent divers traitements, je. utilisé la méthode de l’opportunisme. Utilisez Java pour appeler cmd à exécuter (statistiques du docker) afin d'obtenir les résultats de surveillance.

Comment implémenter la gestion et la surveillance dynamiques des conteneurs Docker basés sur Springboot et Docker-Javadocker-java Le code pour obtenir les informations de surveillance est le suivant :

Comment implémenter la gestion et la surveillance dynamiques des conteneurs Docker basés sur Springboot et Docker-Java3.dockerclientcontroller (contrôleur qui interagit avec l'interface).

Introduction aux principales méthodes :

addcontainer : ajouter un conteneur et télécharger un package de guerre

Comment implémenter la gestion et la surveillance dynamiques des conteneurs Docker basés sur Springboot et Docker-JavaCe qui précède est l'explication du code principal.

Pour plus de détails sur le code, veuillez télécharger le code source et suivre le processus pour l'afficher.

Interface principale après implémentation :

Comme il s'agit d'un exemple de projet, le code n'utilise pas les frameworks vue et bootstrap. J'ai écrit moi-même du CSS et du JS. Les effets spécifiques sont les suivants :

1. Page d'accueil de suivi et de gestion

Comment implémenter la gestion et la surveillance dynamiques des conteneurs Docker basés sur Springboot et Docker-Java2. Ajouter un conteneur ;

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer
Comment utiliser Maven ou Gradle pour la gestion avancée de projet Java, la création d'automatisation et la résolution de dépendance?Comment utiliser Maven ou Gradle pour la gestion avancée de projet Java, la création d'automatisation et la résolution de dépendance?Mar 17, 2025 pm 05:46 PM

L'article discute de l'utilisation de Maven et Gradle pour la gestion de projet Java, la construction de l'automatisation et la résolution de dépendance, en comparant leurs approches et leurs stratégies d'optimisation.

How do I create and use custom Java libraries (JAR files) with proper versioning and dependency management?How do I create and use custom Java libraries (JAR files) with proper versioning and dependency management?Mar 17, 2025 pm 05:45 PM

L'article discute de la création et de l'utilisation de bibliothèques Java personnalisées (fichiers JAR) avec un versioning approprié et une gestion des dépendances, à l'aide d'outils comme Maven et Gradle.

Comment implémenter la mise en cache à plusieurs niveaux dans les applications Java à l'aide de bibliothèques comme la caféine ou le cache de goyave?Comment implémenter la mise en cache à plusieurs niveaux dans les applications Java à l'aide de bibliothèques comme la caféine ou le cache de goyave?Mar 17, 2025 pm 05:44 PM

L'article examine la mise en œuvre de la mise en cache à plusieurs niveaux en Java à l'aide de la caféine et du cache de goyave pour améliorer les performances de l'application. Il couvre les avantages de configuration, d'intégration et de performance, ainsi que la gestion de la politique de configuration et d'expulsion le meilleur PRA

Comment puis-je utiliser JPA (Java Persistance API) pour la cartographie relationnelle des objets avec des fonctionnalités avancées comme la mise en cache et le chargement paresseux?Comment puis-je utiliser JPA (Java Persistance API) pour la cartographie relationnelle des objets avec des fonctionnalités avancées comme la mise en cache et le chargement paresseux?Mar 17, 2025 pm 05:43 PM

L'article discute de l'utilisation de JPA pour la cartographie relationnelle des objets avec des fonctionnalités avancées comme la mise en cache et le chargement paresseux. Il couvre la configuration, la cartographie des entités et les meilleures pratiques pour optimiser les performances tout en mettant en évidence les pièges potentiels. [159 caractères]

Comment fonctionne le mécanisme de chargement de classe de Java, y compris différents chargeurs de classe et leurs modèles de délégation?Comment fonctionne le mécanisme de chargement de classe de Java, y compris différents chargeurs de classe et leurs modèles de délégation?Mar 17, 2025 pm 05:35 PM

Le chargement de classe de Java implique le chargement, la liaison et l'initialisation des classes à l'aide d'un système hiérarchique avec Bootstrap, Extension et Application Classloaders. Le modèle de délégation parent garantit que les classes de base sont chargées en premier, affectant la classe de classe personnalisée LOA

See all articles

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques moisBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
1 Il y a quelques moisBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
1 Il y a quelques moisBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Commandes de chat et comment les utiliser
1 Il y a quelques moisBy尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Version crackée d'EditPlus en chinois

Version crackée d'EditPlus en chinois

Petite taille, coloration syntaxique, ne prend pas en charge la fonction d'invite de code

Version Mac de WebStorm

Version Mac de WebStorm

Outils de développement JavaScript utiles

Navigateur d'examen sécurisé

Navigateur d'examen sécurisé

Safe Exam Browser est un environnement de navigation sécurisé permettant de passer des examens en ligne en toute sécurité. Ce logiciel transforme n'importe quel ordinateur en poste de travail sécurisé. Il contrôle l'accès à n'importe quel utilitaire et empêche les étudiants d'utiliser des ressources non autorisées.

SublimeText3 version anglaise

SublimeText3 version anglaise

Recommandé : version Win, prend en charge les invites de code !

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP