Auflisten aller Aufgaben auf einem Knoten
In diesem Schritt erfahren Sie, wie Sie alle auf einem Docker Swarm-Knoten laufenden Aufgaben auflisten können. Docker Swarm ist ein Container-Orchestrierungstool, mit dem Sie einen Cluster von Docker-Knoten verwalten können. Eine Aufgabe ist eine laufende Instanz eines Dienstes.
Bevor wir die Aufgaben auflisten, müssen wir einen laufenden Docker Swarm-Dienst haben. In diesem Lab verwenden wir einen einfachen nginx
-Dienst.
Zunächst initialisieren wir einen Docker Swarm auf diesem Knoten.
docker swarm init
Sie sollten eine Ausgabe sehen, die anzeigt, dass der Swarm initialisiert wurde und ein Join-Token bereitstellt.
Jetzt erstellen wir einen einfachen Dienst namens my-nginx-service
mit dem nginx
-Image. Wir laden zunächst das nginx
-Image herunter, um sicherzustellen, dass es verfügbar ist.
docker pull nginx:latest
docker service create --name my-nginx-service --replicas 1 nginx
Der Befehl docker service create
erstellt einen neuen Dienst mit einer Replik (einer Aufgabe). Docker lädt automatisch das nginx
-Image herunter, wenn es noch nicht vorhanden ist, aber wir haben es zuvor explizit heruntergeladen.
Nachdem der Dienst erstellt wurde, startet Docker eine Aufgabe für diesen Dienst auf einem der Knoten im Swarm (in diesem Fall auf dem aktuellen Knoten).
Um alle auf dem Knoten laufenden Aufgaben aufzulisten, können Sie den Befehl docker node ps
gefolgt von der Knoten-ID oder dem Hostnamen verwenden. Da wir auf dem Manager-Knoten sind, auf dem der Dienst erstellt wurde, können wir die Knoten-ID dieses Knotens verwenden.
Um die Knoten-ID zu finden, können Sie den Befehl docker node ls
verwenden.
docker node ls
Dieser Befehl listet alle Knoten im Swarm auf. Die Ausgabe zeigt die Knoten-ID, den Hostnamen, den Status, die Verfügbarkeit und den Manager-Status. Kopieren Sie die Knoten-ID des aktuellen Knotens (derjenige mit Leader
unter MANAGER STATUS
).
Verwenden Sie jetzt den Befehl docker node ps
mit der kopierten Knoten-ID, um die Aufgaben auf diesem Knoten aufzulisten. Ersetzen Sie <node_id>
durch die tatsächliche Knoten-ID.
docker node ps <node_id>
Dieser Befehl zeigt eine Liste der auf dem angegebenen Knoten laufenden Aufgaben an, einschließlich der Aufgaben-ID, des Dienstnamens, des Images, des Knotens, des gewünschten Zustands, des aktuellen Zustands und des Fehlers. Sie sollten die Aufgabe my-nginx-service.1
mit dem Zustand Running
in der Liste sehen.
Alternativ können Sie alle Aufgaben im Swarm mit dem Befehl docker task ls
auflisten. Dieser Befehl ist nützlich, um Aufgaben auf allen Knoten im Swarm zu sehen.
docker task ls
Dieser Befehl zeigt ähnliche Informationen wie docker node ps
, listet jedoch die Aufgaben von allen Knoten im Swarm auf. Da wir nur einen Knoten und eine Aufgabe haben, wird die Ausgabe ähnlich wie bei docker node ps
sein.
In diesem Schritt haben Sie gelernt, wie Sie Aufgaben auf einem bestimmten Knoten mit docker node ps
und alle Aufgaben im Swarm mit docker task ls
auflisten können.