Maison Opération et maintenance exploitation et maintenance Linux Comment utiliser Docker pour la mise à l'échelle horizontale et l'équilibrage de charge des conteneurs

Comment utiliser Docker pour la mise à l'échelle horizontale et l'équilibrage de charge des conteneurs

Nov 07, 2023 am 09:19 AM
docker 负载均衡 Mise à l'échelle horizontale

Comment utiliser Docker pour la mise à léchelle horizontale et léquilibrage de charge des conteneurs

Avec la popularité du cloud computing et de la technologie des conteneurs, la mise à l'échelle horizontale et l'équilibrage de charge sont devenus des fonctionnalités essentielles pour les applications modernes. En tant que technologie de conteneurisation populaire, Docker propose diverses méthodes pour la mise à l'échelle horizontale et l'équilibrage de charge des conteneurs. Dans cet article, nous présenterons en détail comment utiliser Docker pour la mise à l'échelle horizontale et l'équilibrage de charge des conteneurs, et fournirons des exemples de code spécifiques.

Mise à l'échelle horizontale des conteneurs

La mise à l'échelle horizontale des conteneurs fait référence à l'augmentation ou à la diminution automatique du nombre de conteneurs en fonction des conditions de chargement. Docker propose diverses méthodes pour mettre à l'échelle horizontalement les conteneurs, notamment en utilisant des outils tels que Docker Swarm, Docker Compose et Kubernetes.

Dans cet article, nous expliquerons comment utiliser Docker Swarm pour mettre à l'échelle horizontalement des conteneurs. Docker Swarm est l'outil natif d'orchestration de conteneurs de Docker. Il peut gérer automatiquement plusieurs nœuds Docker et se développer horizontalement en unités de conteneurs.

Ce qui suit est un exemple de mise à l'échelle horizontale de conteneurs à l'aide de Docker Swarm. Nous utiliserons une simple application Web comme cible de démonstration, écrite en Node.js. Nous créons d’abord un Dockerfile pour créer une image de l’application Web.

FROM node:12
WORKDIR /app
COPY package*.json ./
RUN npm install
COPY . .
EXPOSE 8080
CMD [ "npm", "start" ]
Copier après la connexion

Après avoir construit cette image, nous utiliserons Docker Swarm pour démarrer plusieurs conteneurs et les mettre à l'échelle horizontalement. Nous pouvons utiliser la commande suivante pour initialiser Docker Swarm :

docker swarm init
Copier après la connexion

Ensuite, nous pouvons utiliser la commande suivante pour démarrer un service et spécifier le nombre de conteneurs qui doivent être démarrés :

docker service create --replicas 3 --name webapp -p 8080:8080 my-webapp
Copier après la connexion

Cela démarrera 3 conteneurs nommés "webapp". et mappez-les au port 8080 de l'hôte. Si vous devez modifier le nombre de conteneurs, vous pouvez utiliser la commande suivante :

docker service scale webapp=5
Copier après la connexion

Cela augmentera le nombre de conteneurs à 5. Docker Swarm équilibrera automatiquement la charge des requêtes entre tous les conteneurs et lorsqu'un conteneur tombe en panne, il redémarrera automatiquement un nouveau conteneur pour restaurer le service.

Équilibrage de charge des conteneurs

L'équilibrage de charge des conteneurs fait référence à la distribution des demandes à plusieurs conteneurs et à la garantie que chaque conteneur a la même charge. Docker fournit une variété de méthodes pour équilibrer la charge des conteneurs, notamment en utilisant des outils tels que Docker Swarm, Docker Compose et Nginx.

Dans cet article, nous présenterons comment utiliser Nginx pour l'équilibrage de charge des conteneurs. Nginx est un logiciel de serveur Web populaire qui fonctionne également comme serveur proxy inverse et équilibreur de charge.

Ce qui suit est un exemple d'utilisation de Nginx pour l'équilibrage de charge des conteneurs. Nous utiliserons l'application Web créée dans la section précédente et démarrerons plusieurs conteneurs pour gérer les demandes. Nous créons d'abord un fichier de configuration Nginx pour définir la stratégie d'équilibrage de charge.

upstream webapp {
    server container1:8080;
    server container2:8080;
    server container3:8080;
}

server {
    listen 80;
    server_name my-webapp.com;
    location / {
        proxy_pass http://webapp/;
    }
}
Copier après la connexion

Ce fichier de configuration définit un serveur amont nommé "webapp", qui contient les adresses et ports de 3 conteneurs. Nous allons ensuite démarrer un conteneur Nginx dans Docker et mapper ce fichier de configuration au répertoire de configuration du serveur Nginx dans le conteneur.

docker run -d -p 80:80 --name nginx -v /path/to/nginx.conf:/etc/nginx/nginx.conf nginx
Copier après la connexion

En utilisant Nginx pour l'équilibrage de charge des conteneurs, nous pouvons distribuer les requêtes à tous les conteneurs et garantir que chaque conteneur a la même charge. De plus, Nginx prend également en charge d'autres fonctionnalités avancées telles que la configuration dynamique et l'équilibrage de charge basé sur le poids.

Conclusion

Dans cet article, nous avons présenté en détail comment utiliser Docker pour la mise à l'échelle horizontale et l'équilibrage de charge des conteneurs, et avons fourni des exemples de code spécifiques. La mise à l'échelle horizontale des conteneurs et l'équilibrage de charge sont des fonctionnalités indispensables pour les applications modernes, et Docker fournit une variété d'outils puissants pour atteindre ces capacités. Si vous utilisez Docker pour gérer des applications, assurez-vous de maîtriser les techniques de mise à l'échelle horizontale des conteneurs et d'équilibrage de charge.

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 de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

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

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

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

Comment sortir du conteneur par Docker Comment sortir du conteneur par Docker Apr 15, 2025 pm 12:15 PM

Quatre façons de quitter Docker Container: Utilisez Ctrl D dans le terminal de conteneur Entrez la commande d'exit dans le terminal de conteneur Utilisez Docker Stop & lt; contener_name & gt; Commande utilise docker kill & lt; contener_name & gt; commande dans le terminal hôte (sortie de force)

Comment copier des fichiers dans Docker à l'extérieur Comment copier des fichiers dans Docker à l'extérieur Apr 15, 2025 pm 12:12 PM

Méthodes de copie de fichiers en hôtes externes dans Docker: Utilisez la commande docker cp: exécuter docker cp [options] & lt; Container Path & gt; & lt; Host Path & gt;. Utilisation de volumes de données: créez un répertoire sur l'hôte et utilisez le paramètre -v pour monter le répertoire dans le conteneur lors de la création du conteneur pour obtenir la synchronisation de fichiers bidirectionnels.

Comment mettre à jour l'image de Docker Comment mettre à jour l'image de Docker Apr 15, 2025 pm 12:03 PM

Les étapes pour mettre à jour une image Docker sont les suivantes: Tirez la dernière étiquette d'image Nouvelle image Supprimer l'ancienne image pour une balise spécifique (facultative) Redémarrez le conteneur (si nécessaire)

Comment vérifier le nom du conteneur Docker Comment vérifier le nom du conteneur Docker Apr 15, 2025 pm 12:21 PM

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").

Comment redémarrer Docker Comment redémarrer Docker Apr 15, 2025 pm 12:06 PM

Comment redémarrer le conteneur Docker: Obtenez l'ID de conteneur (Docker PS); Arrêtez le conteneur (docker stop & lt; contener_id & gt;); Démarrer le conteneur (docker start & lt; contener_id & gt;); Vérifiez que le redémarrage réussit (Docker PS). Autres méthodes: Docker Compose (redémarrage Docker-Compose) ou API Docker (voir Docker Documentation).

Comment afficher le processus Docker Comment afficher le processus Docker Apr 15, 2025 am 11:48 AM

Méthode de visualisation du processus docker: 1. Commande Docker CLI: Docker PS; 2. Commande CLI Systemd: Docker d'état SystemCTL; 3. Docker Compose CLI Commande: Docker-Compose PS; 4. Process Explorer (Windows); 5. / Répertoire proc (Linux).

Comment démarrer MySQL par Docker Comment démarrer MySQL par Docker Apr 15, 2025 pm 12:09 PM

Le processus de démarrage de MySQL dans Docker se compose des étapes suivantes: Tirez l'image MySQL pour créer et démarrer le conteneur, définir le mot de passe de l'utilisateur racine et mapper la connexion de vérification du port Créez la base de données et l'utilisateur accorde toutes les autorisations sur la base de données

Comment utiliser Docker Desktop Comment utiliser Docker Desktop Apr 15, 2025 am 11:45 AM

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).

See all articles