Comment mettre à l'échelle les services dans Docker Compose

Comment mettre à l'échelle les services dans Docker Compose
Docker Compose est un outil de base de Docker qui est utilisé pour traiter et gérer plusieurs applications de conteneurs et microservices. Cet outil est utilisé pour configurer les services de logiciels et d'applications dans le «Yaml" déposer. Le Docker Compose fournit diverses fonctionnalités clés pour soutenir les conteneurs et la mise à l'échelle des services Docker en fait partie.

Docker l'échelle signifie l'échelle ou la création de répliques d'un ou plusieurs services. Ces répliques peuvent être utilisées pour tester, partager et exécuter le même service dans différents conteneurs. Dans Docker Compose, vous pouvez utiliser le «-escalader"Flag avec le"secouer docker»Commande pour démarrer des nombres spécifiés de répliques d'un service particulier.

Cet article illustrera comment mettre à l'échelle le service dans Docker Compose.

Comment mettre à l'échelle les services dans Docker Compose?

Pour mettre à l'échelle les services dans Docker, composez, premièrement, spécifiez le service dans le fichier de composition. Ensuite, échelle et démarrez le service en utilisant le «-escalader"Option avec le"secouer docker" commande.

Pendant la mise à l'échelle du service, la plupart des utilisateurs ont obtenu l'erreur ci-dessous:

Cette erreur se produit car les utilisateurs essaient d'exécuter différentes répliques de mise à l'échelle sur le même port. Tout en spécifiant le nombre de ports dans Compose, attribuez plusieurs ports ou autorisez Docker à les répartir en exposant automatiquement. Pour l'explication, consultez les étapes données.

Étape 1: Créez le fichier docker
Tout d'abord, créez un dockerfile et collez le bloc de code mentionné dans le fichier. Ces instructions seront utilisées pour configurer le programme «Golang» dans Docker Compose:

De Golang: 1.8
Workdir / go / src / app
Copier principal.aller .
Exécuter Go Build -O Webserver .
Exposer 8080: 8080
POINT D'ACCÈS ["./serveur Web"]

Étape 2: Faire du fichier composé
Ensuite, créez un «composer docker.YML»Fichier qui a les instructions suivantes:

  • "prestations de service»Spécifiez le service de composition. Par exemple, nous avons défini le «la toile«Service dans le«composer docker.YML" déposer.
  • "construire»La clé lira les instructions du fichier docker pour configurer le service« Web »dans le conteneur de composition.
  • "ports»Définit l'exposition des ports. Dans le code ci-dessous, nous avons défini "8080: 8080«Comme le port d'exposition. Mais le problème avec ce port est qu'il ne peut exécuter qu'un seul service sur le port "8080»Et montrez l'erreur susmentionnée des répliques:
Version: "Alpine"
prestations de service:
la toile:
construire: .
PORTS:
- 8080: 8080

Pour résoudre cette erreur, vous pouvez spécifier la valeur du port dans la plage, comme «80-85: 8080"Ou simplement définir"8080»Et permet au docker de décider quel conteneur de port s'exécutera:

Étape 3: Échelle le service de composition
Ensuite, évoluez le service pour exécuter des répliques dans un autre conteneur. À cette fin, utilisez l'option «-Scale» et définissez sa valeur comme «=»:

> docker-compose up --échelle web = 2

Pour la vérification, indiquez le conteneur de compose avec la commande mentionnée. Ici, vous pouvez voir que nous avons réussi les deux répliques sur les ports "61844" et "61845”Affecté par Docker:

> docker-compose ps -a

Pour la confirmation, accédez au port affecté du conteneur et vérifiez si le service est en cours d'exécution ou non. À cette fin, premièrement, nous avons navigué au «61844" port:

Ici, vous pouvez voir que notre service de mise à l'échelle a réussi à exécuter sur différents ports:

C'est tout sur la façon de faire évoluer les services dans Docker Compose.

Conclusion

Pour évoluer le service en composant, premièrement, configurez le service Docker dans le «composer docker.YML" déposer. Ensuite, à l'échelle du service en utilisant "-escalader"Avec la valeur"=" dans le "secouer docker" commande. Cet article a démontré comment mettre à l'échelle le service dans Docker Compose.