Mehrere Dienste skalieren
In diesem Schritt erfahren wir, wie man mehrere Dienste gleichzeitig skaliert. Dies ist nützlich, wenn Sie mehrere Dienste haben, die zusammen skaliert werden müssen, beispielsweise verschiedene Komponenten einer Anwendung.
Zunächst erstellen wir einen weiteren Dienst. Wir werden einen Dienst namens my-nginx-service
mit dem nginx
-Image und 1 Replika erstellen. Zuerst müssen wir das nginx
-Image herunterladen.
docker pull nginx
Sie sollten eine Ausgabe sehen, die anzeigt, dass das nginx
-Image heruntergeladen wird.
Jetzt erstellen wir den my-nginx-service
.
docker service create --name my-nginx-service --replicas 1 nginx
Sie sollten eine Ausgabe sehen, die die Erstellung des my-nginx-service
bestätigt.
Jetzt haben wir zwei Dienste: my-alpine-service
(der derzeit auf 0 skaliert ist) und my-nginx-service
(der auf 1 skaliert ist). Skalieren wir beide Dienste gleichzeitig. Wir werden my-alpine-service
auf 2 Replikas und my-nginx-service
auf 3 Replikas skalieren.
docker service scale my-alpine-service=2 my-nginx-service=3
Nachdem Sie diesen Befehl ausgeführt haben, wird Docker Swarm beide Dienste gemäß den angegebenen Replikazahlen aktualisieren. Sie sollten eine Ausgabe sehen, die anzeigt, dass beide Dienste aktualisiert werden.
Um zu überprüfen, ob beide Dienste skaliert wurden, können Sie die Dienste auflisten.
docker service ls
Sie sollten jetzt my-alpine-service
mit 2 Replikas und my-nginx-service
mit 3 Replikas aufgeführt sehen.
Sie können auch die Aufgaben für jeden Dienst einzeln überprüfen, um die laufenden Container zu sehen.
docker service ps my-alpine-service
Dies zeigt die 2 laufenden Aufgaben für my-alpine-service
.
docker service ps my-nginx-service
Dies zeigt die 3 laufenden Aufgaben für my-nginx-service
.
Abschließend bereinigen wir die von uns erstellten Dienste. Wir können beide Dienste mit dem Befehl docker service rm
entfernen.
docker service rm my-alpine-service my-nginx-service
Sie sollten eine Ausgabe sehen, die die Entfernung beider Dienste bestätigt.
Um zu überprüfen, ob die Dienste entfernt wurden, listen Sie die Dienste erneut auf.
docker service ls
Es sollten keine Dienste aufgeführt sein.