Augmenter l'échelle (scaling) de plusieurs services
Dans cette étape, nous apprendrons à augmenter l'échelle de plusieurs services simultanément. Cela est utile lorsque vous avez plusieurs services qui doivent être mis à l'échelle ensemble, par exemple, différents composants d'une application.
Tout d'abord, créons un autre service. Nous allons créer un service nommé my-nginx-service
en utilisant l'image nginx
avec 1 réplique. Nous devons d'abord télécharger (pull) l'image nginx
.
docker pull nginx
Vous devriez voir un affichage indiquant que l'image nginx
est en cours de téléchargement.
Maintenant, créons le service my-nginx-service
.
docker service create --name my-nginx-service --replicas 1 nginx
Vous devriez voir un affichage confirmant la création du service my-nginx-service
.
Maintenant, nous avons deux services : my-alpine-service
(actuellement mis à l'échelle à 0) et my-nginx-service
(mis à l'échelle à 1). Mettons à l'échelle les deux services à la fois. Nous allons augmenter l'échelle de my-alpine-service
à 2 répliques et de my-nginx-service
à 3 répliques.
docker service scale my-alpine-service=2 my-nginx-service=3
Après avoir exécuté cette commande, Docker Swarm mettra à jour les deux services en fonction des nombres de répliques spécifiés. Vous devriez voir un affichage indiquant que les deux services sont en cours de mise à jour.
Pour vérifier que les deux services ont été mis à l'échelle, vous pouvez lister les services.
docker service ls
Vous devriez maintenant voir my-alpine-service
répertorié avec 2 répliques et my-nginx-service
répertorié avec 3 répliques.
Vous pouvez également vérifier les tâches de chaque service individuellement pour voir les conteneurs en cours d'exécution.
docker service ps my-alpine-service
Cela affichera les 2 tâches en cours d'exécution pour my-alpine-service
.
docker service ps my-nginx-service
Cela affichera les 3 tâches en cours d'exécution pour my-nginx-service
.
Enfin, nettoyons les services que nous avons créés. Nous pouvons supprimer les deux services en utilisant la commande docker service rm
.
docker service rm my-alpine-service my-nginx-service
Vous devriez voir un affichage confirmant la suppression des deux services.
Pour vérifier que les services ont été supprimés, listez les services à nouveau.
docker service ls
Aucun service ne devrait être répertorié.