Erstellen eines Docker Swarm-Services
In diesem Schritt lernen wir, wie man einen Docker Swarm-Service erstellt. Ein Docker Swarm-Service ist eine Gruppe von Tasks, die auf einem Swarm-Cluster ausgeführt werden. Jeder Task ist eine Instanz eines Containers. Services sind das zentrale Konzept von Docker Swarm und ermöglichen es Ihnen, festzulegen, wie viele Replikate eines Container-Images laufen sollen und wie sie aktualisiert werden sollen.
Bevor wir einen Service erstellen, müssen wir einen Docker Swarm initialisieren. Da wir auf einer einzigen virtuellen Maschine (VM) laufen, werden wir einen Ein-Knoten-Swarm initialisieren.
Zunächst initialisieren wir den Swarm:
docker swarm init --advertise-addr 127.0.0.1
Sie sollten eine Ausgabe sehen, die anzeigt, dass der Swarm initialisiert wurde und dass der aktuelle Knoten jetzt ein Manager ist.
Nun erstellen wir einen Service mit dem nginx
-Image. Wir werden den Service my-nginx
nennen und angeben, dass wir 3 Replikate des nginx
-Containers laufen lassen möchten.
Zuerst laden wir das nginx
-Image herunter, um sicherzustellen, dass es lokal verfügbar ist:
docker pull nginx:latest
Jetzt erstellen wir den Service:
docker service create --name my-nginx --replicas 3 nginx:latest
Dieser Befehl erstellt einen neuen Service namens my-nginx
mit 3 Replikaten unter Verwendung des nginx:latest
-Images. Docker Swarm verteilt diese Replikate automatisch über die Knoten im Swarm (in diesem Fall nur unseren einzigen Knoten).
Um zu überprüfen, dass der Service erstellt wurde und die Replikate laufen, können Sie die Services auflisten:
docker service ls
Sie sollten my-nginx
mit 3/3 laufenden Replikaten sehen.
Sie können auch die mit dem Service verbundenen Tasks untersuchen:
docker service ps my-nginx
Dieser Befehl zeigt Ihnen die einzelnen Tasks (Container), die den my-nginx
-Service bilden, ihren aktuellen Zustand und den Knoten, auf dem sie laufen. Sie sollten 3 Tasks im Zustand Running
sehen.