


Comment utiliser Docker pour l'expansion horizontale et l'équilibrage de charge des conteneurs
Comment utiliser Docker pour l'expansion horizontale et l'équilibrage de charge des conteneurs
Introduction :
Avec le développement continu de la technologie du cloud computing, la technologie de conteneurisation est désormais devenue l'un des principaux moyens de créer, de déployer et de gérer des applications. En tant que plate-forme de conteneurisation la plus populaire actuellement, Docker fournit non seulement des méthodes pratiques de packaging et de déploiement d'applications, mais prend également en charge l'expansion horizontale et l'équilibrage de charge des conteneurs. Cet article présentera en détail comment utiliser Docker pour l'expansion horizontale et l'équilibrage de charge des conteneurs, et donnera des exemples de code spécifiques.
1. Expansion horizontale des conteneurs Docker
L'expansion horizontale des conteneurs fait référence à l'augmentation du débit et des capacités de concurrence des applications en augmentant le nombre de conteneurs. Docker propose plusieurs façons de réaliser une expansion horizontale des conteneurs. Deux méthodes courantes sont présentées ci-dessous.
- Utilisez Docker Compose pour réaliser une expansion horizontale des conteneurs
Docker Compose est un outil officiellement lancé par Docker Il peut définir la configuration et la relation de plusieurs conteneurs via un fichier YAML et réaliser leur gestion par lots. En modifiant le nombre de conteneurs dans ce fichier, l'expansion horizontale des conteneurs peut être réalisée simplement et rapidement. Voici un exemple de fichier Docker Compose, qui contient la configuration d'une application Web et d'une base de données :
version: '3' services: web: build: . ports: - "80:80" depends_on: - db db: image: mysql:5.7 environment: - MYSQL_ROOT_PASSWORD=root
Supposons que nous souhaitions augmenter le nombre de conteneurs de l'application Web de 1 à 3, il nous suffit de changer le nom du fichier Web. dans le fichier ci-dessus Changez simplement l'attribut replicas du service en 3 :
version: '3' services: web: build: . ports: - "80:80" depends_on: - db replicas: 3 db: image: mysql:5.7 environment: - MYSQL_ROOT_PASSWORD=root
Utilisez ensuite la commande suivante pour démarrer et gérer le conteneur :
$ docker-compose up -d
Docker Compose nous aidera automatiquement à créer et gérer 3 conteneurs d'applications Web, atteignant ainsi l'horizontalité expansion du conteneur.
- Utilisez Docker Swarm pour réaliser une expansion horizontale des conteneurs
Docker Swarm est un outil d'orchestration de conteneurs et de gestion de cluster officiellement fourni par Docker. Il réalise une expansion horizontale des conteneurs en planifiant et en gérant les conteneurs Docker sur plusieurs nœuds. Voici un exemple de fichier de configuration Docker Swarm :
version: '3' services: web: image: nginx:latest deploy: replicas: 3 restart_policy: condition: on-failure
En utilisant les commandes fournies par Docker Swarm, vous pouvez rapidement créer et gérer des conteneurs et réaliser une expansion horizontale des conteneurs :
$ docker stack deploy -c docker-compose.yml myapp
Utilisez les commandes ci-dessus pour modifier les fichiers de configuration définis. dans ce qui précède, le service Web est créé en tant que service nommé myapp, qui contient 3 conteneurs. Docker Swarm créera et gérera automatiquement ces trois conteneurs sur différents nœuds du cluster, réalisant ainsi une expansion horizontale des conteneurs.
2. Équilibrage de charge des conteneurs Docker
L'équilibrage de charge fait référence à la répartition uniforme des demandes entre plusieurs conteneurs pour améliorer la puissance de traitement et la disponibilité des applications. Docker propose diverses façons d'équilibrer la charge des conteneurs. Deux méthodes couramment utilisées sont présentées ci-dessous.
- Utilisez l'équilibreur de charge intégré de Docker
Docker dispose d'un équilibreur de charge intégré basé sur l'algorithme round-robin, qui peut automatiquement répartir les requêtes de manière uniforme entre plusieurs conteneurs. Mappez simplement plusieurs conteneurs identiques sur le même port pour obtenir un équilibrage de charge. Voici un exemple de fichier Docker Compose, qui contient la configuration de deux applications Web :
version: '3' services: web1: build: . ports: - "8080:80" web2: build: . ports: - "8081:80"
Grâce à la configuration ci-dessus, les requêtes de l'application Web seront réparties uniformément entre les conteneurs web1 et web2.
- Utilisez des outils d'orchestration de conteneurs tiers
En plus du propre équilibreur de charge de Docker, vous pouvez également utiliser certains outils d'orchestration de conteneurs tiers pour obtenir un équilibrage de charge plus puissant et plus flexible. Par exemple, vous pouvez utiliser Nginx comme serveur proxy inverse pour distribuer les requêtes à plusieurs conteneurs. Voici un exemple de fichier de configuration Nginx :
http { upstream backend { server web1:80; server web2:80; } server { listen 80; location / { proxy_pass http://backend; } } }
Dans la configuration ci-dessus, nous avons défini un cluster d'équilibrage de charge nommé backend, qui contient deux conteneurs : web1 et web2. Nginx répartira les requêtes uniformément entre les deux conteneurs en fonction de la configuration.
Conclusion :
Grâce à l'introduction de cet article, nous pouvons voir que Docker fournit une multitude de fonctions et d'outils pour réaliser l'expansion horizontale et l'équilibrage de charge des conteneurs. Que vous utilisiez Docker Compose ou Docker Swarm, l'expansion horizontale des conteneurs peut être facilement réalisée. L'équilibrage de charge des conteneurs peut également être obtenu à l'aide de l'équilibreur de charge intégré de Docker ou d'outils d'orchestration de conteneurs tiers. L'utilisation de ces fonctions et outils facilite la création et la gestion d'applications conteneurisées, améliorant ainsi les performances et la disponibilité des applications.
Références :
- Documentation officielle de Docker : https://docs.docker.com/
- Documentation officielle de Docker Compose : https://docs.docker.com/compose/
- Documentation officielle de Docker Swarm : https: / /docs.docker.com/engine/swarm/
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!

Outils d'IA chauds

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

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

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Pour obtenir la version Docker, vous pouvez effectuer les étapes suivantes: exécutez la commande docker "docker --version" pour afficher les versions client et serveur. Pour Mac ou Windows, vous pouvez également afficher les informations de version via l'onglet Version de la GUI de bureau Docker ou du menu de bureau à propos de Docker.

Étapes pour créer une image docker: écrivez un dockerfile qui contient les instructions de construction. Créez l'image dans le terminal, en utilisant la commande docker build. Marquez l'image et attribuez des noms et des balises à l'aide de la commande docker tag.

Les méthodes pour afficher les journaux Docker incluent: à l'aide de la commande docker logs, par exemple: docker logs contener_name Utilisez la commande docker exec pour exécuter / bin / sh et afficher le fichier journal, par exemple: docker exec -it contener_name / bin / sh; Cat /var/log/continer_name.log Utilisez la commande docker-compose JORS de Docker Compose, par exemple: docker-compose -f docker-com

Vous pouvez passer à la source de miroir domestique. Les étapes sont les suivantes: 1. Modifiez le fichier de configuration /etc/docker/daemon.json et ajoutez l'adresse source miroir; 2. Après enregistrer et sortir, redémarrez le service Docker Sudo Systemctl Docker pour améliorer la vitesse et la stabilité du téléchargement d'image.

Comment utiliser Docker Desktop? Docker Desktop est un outil pour exécuter des conteneurs Docker sur les machines locales. Les étapes à utiliser incluent: 1. Installer Docker Desktop; 2. Démarrer Docker Desktop; 3. Créer une image Docker (à l'aide de DockerFile); 4. Build Docker Image (en utilisant Docker Build); 5. Exécuter Docker Container (à l'aide de Docker Run).

Vous pouvez interroger le nom du conteneur Docker en suivant les étapes: répertorier tous les conteneurs (Docker PS). Filtrez la liste des conteneurs (à l'aide de la commande grep). Obtient le nom du conteneur (situé dans la colonne "Noms").

Pour enregistrer l'image dans Docker, vous pouvez utiliser la commande docker commit pour créer une nouvelle image, contenant l'état actuel du conteneur spécifié, Syntaxe: Docker Commit [Options] Nom d'image de l'ID de conteneur. Pour enregistrer l'image dans le référentiel, vous pouvez utiliser la commande docker push, Syntax: Docker Push Image Name [: Tag]. Pour importer des images enregistrées, vous pouvez utiliser la commande docker pull, syntaxe: docker pull name [: tag].

Vous pouvez créer des référentiels privés Docker pour stocker et gérer en toute sécurité les images de conteneurs, en fournissant un contrôle et une sécurité stricts. Les étapes incluent: la création d'un référentiel, l'accès, le déploiement d'un référentiel, la poussée d'une image et le tir d'une image. Les avantages incluent la sécurité, le contrôle des versions, la réduction du trafic réseau et la personnalisation.
