Ce blog montrera comment implémenter la mise à l'échelle et l'équilibrage de chargement dans Docker Compose.
Comment acquérir les services dans Docker Compose?
Échelle dans Docker signifie faire des répliques de services ou de conteneurs composés. Ces répliques sont gérées sur l'hôte. Pour implémenter la mise à l'échelle dans Docker Compose, passez par les instructions fournies.
Étape 1: générer dockerfile
Générer un dockerfile qui conteneurisera le Golang "main1.aller»Programme. À cette fin, collez le code fourni dans le fichier:
De Golang: 1.8
Workdir / go / src / app
Copier Main1.aller .
Exécuter Go Build -O Webserver .
Exposer 8080: 8080
POINT D'ACCÈS ["./serveur Web"]
Étape 2: Générer le fichier de composi
Ensuite, créez un autre fichier nommé "composer docker.YML”Fichier et collez les instructions ci-dessous:
Version: "Alpine"
prestations de service:
la toile:
construire: .
PORTS:
- 8080
Ici:
Alternativement, les utilisateurs peuvent attribuer le «ports«Valeur dans la gamme telle que«80-83: 8080". Cela affectera automatiquement les ports exposés dans la plage spécifiée à chaque conteneur ou service.
Étape 3: tirez les conteneurs
Ensuite, lancez les conteneurs en utilisant le «secouer docker" commande. Pour reproduire le «la toile«Service, utilisez le«-escalader"Option avec le"=«Valeur comme indiqué ci-dessous:
docker-compose up --échelle web = 2
Étape 4: Répertoriez les conteneurs de compose
Énumérez les conteneurs Composé et vérifiez si les services de mise à l'échelle s'exécutent ou non:
docker-compose ps -a
Vous pouvez voir deux répliques du «la toile"Le service fonctionne sur"61844" et "61845»Ports hôtes locaux respectivement:
Pour la confirmation, accédez aux ports assignés de l'hôte local et vérifiez si le service s'exécute ou non.
On peut observer que le «la toile»Le service a été exécuté avec succès sur les ports attribués:
Comment implémenter l'équilibrage de charge dans Docker Compose?
L'équilibreur de charge est l'une des meilleures solutions pour gérer le trafic à partir de différents conteneurs ou clients sur le serveur. Il augmente la fiabilité et la disponibilité des applications et des services. Différents critères de routage sont utilisés sur le backend pour gérer les applications multi-conteneurs, telles que Round Robin.
Pour implémenter la technique d'équilibrage de charge sur les services de composition, utilisez les instructions données.
Étape 1: Créez «Nginx.Fichier Conf ”
Créé un "nginx.confli”Fichier et collez le code ci-dessous dans le fichier. Ces instructions comprennent:
utilisateur nginx;
événements
Worker_Connections 1000;
http
en amont tout
Web de serveur: 8080;
serveur
Écoutez 8080;
emplacement /
proxy_pass http: // all /;
Étape 2: Configurer le service de chargement Nginx Balancer dans «Docker-Compose.fichier yml ”
Ensuite, configurez l'équilibreur de charge «nginx«Service dans le«composer docker" déposer. À cette fin, nous avons spécifié les clés suivantes:
Version: "Alpine"
prestations de service:
la toile:
construire: .
nginx:
Image: Nginx: Dernière
Volumes:
- ./ nginx.conf: / etc / nginx / nginx.conf: ro
dépend de:
- la toile
PORTS:
- 8080: 8080
Étape 3: Exécutez des conteneurs de compose
Maintenant, exécutez le conteneur composé avec le «-escalader”Option pour exécuter les répliques du service Web:
docker-compose up --échelle web = 2
Ici, ces répliques de services Web sont gérées sur le service d'équilibreur de chargement «nginx»:
Naviguer dans le port d'écoute du «nginx«Service et vérifiez si le bilan de charge gère les deux conteneurs du service Web sur le même port ou non. Actualisez la page pour passer au deuxième conteneur, et actualisez à nouveau la page pour passer au premier conteneur:
Il s'agit de docker composer l'équilibrage et la mise à l'échelle de la charge.
Conclusion
L'équilibrage et l'échelle de charge sont des techniques pour augmenter la disponibilité et la fiabilité de l'application. La mise à l'échelle Docker génère les répliques de services spécifiés et l'équilibre de l'équilibreur de charge ou gère le trafic vers et depuis différents conteneurs du serveur. À cette fin, nous avons utilisé «nginx"En tant qu'équilibreur de charge. Ce blog a démontré que Docker compose l'équilibrage et la mise à l'échelle de la charge.