Verwaltung und Skalierung von Swarm-Services
Bereitstellung eines Services
Um einen Service im Docker Swarm bereitzustellen, können Sie den Befehl docker service create
verwenden. Beispielsweise können Sie einen Nginx-Webserver mit folgendem Befehl bereitstellen:
docker service create --name nginx -p 80:80 nginx:latest
Dies erstellt einen neuen Service namens "nginx" und stellt ihn im Swarm bereit. Der Service exponiert den Port 80 auf dem Host und leitet ihn an den Port 80 im Container weiter.
Skalierung eines Services
Sie können die Anzahl der Replikate (Tasks) für einen Service mit dem Befehl docker service scale
skalieren. Um beispielsweise den Service "nginx" auf 5 Replikate zu skalieren, führen Sie aus:
docker service scale nginx=5
Dies erstellt 4 zusätzliche Tasks für den Service "nginx", und der Manager-Node plant sie automatisch auf den verfügbaren Worker-Nodes.
Aktualisierung eines Services
Sie können die Konfiguration eines Services mit dem Befehl docker service update
aktualisieren. Um beispielsweise den Service "nginx" auf eine andere Bildversion zu aktualisieren, können Sie Folgendes ausführen:
docker service update --image nginx:1.19 nginx
Dies aktualisiert den Service "nginx" auf die Verwendung des Bildes "nginx:1.19".
Überwachung von Swarm-Services
Sie können den Status Ihrer Swarm-Services mit den Befehlen docker service ls
und docker service ps
überwachen. Der Befehl docker service ls
zeigt eine Liste aller im Swarm laufenden Services an, während der Befehl docker service ps
den Status jeder Task innerhalb eines Services anzeigt.
## Alle Services auflisten
docker service ls
## Tasks für einen bestimmten Service auflisten
docker service ps nginx
Abtrennen von Nodes
Wenn Sie Wartungsarbeiten an einem Node durchführen müssen, können Sie ihn "abtrennen". Dadurch plant der Manager alle auf diesem Node laufenden Tasks auf andere verfügbare Nodes neu. Dies können Sie mit dem Befehl docker node update
tun:
docker node update --availability drain <NODE-ID>
Ersetzen Sie <NODE-ID>
durch die ID des abzukoppelnden Nodes.
Dies deckt die Grundlagen der Verwaltung und Skalierung von Docker Swarm-Services ab. Mit diesem Wissen sollten Sie in der Lage sein, Ihre Anwendungen auf einem Docker Swarm bereitzustellen, zu skalieren und zu warten.