Docker Swarm ist eine native Cluster-Management-Lösung für Docker-Container. Diese Anleitung zeigt, wie man Docker Swarm auf Ubuntu einrichtet und für die Verwaltung von Container-Clustern nutzt.

Voraussetzungen

  • Ubuntu 22.04 oder neuer auf allen Maschinen
  • Docker bereits auf allen Maschinen installiert
  • Mindestens zwei Maschinen für den Swarm (eine für den Manager, eine für den Worker)

1. Docker installieren

Falls Docker noch nicht installiert ist, führe die folgenden Schritte aus:

Zuerst das System aktualisieren:

sudo apt update

Dann die notwendigen Abhängigkeiten installieren:

sudo apt install apt-transport-https ca-certificates curl software-properties-common -y

Docker-Repository hinzufügen:

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

Das Docker-Repository einbinden:

sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"

Die Paketliste aktualisieren:

sudo apt update

Docker installieren:

sudo apt install docker-ce -y

2. Docker Swarm initialisieren (Manager-Node)

Auf dem Manager-Node den Swarm initialisieren:

sudo docker swarm init --advertise-addr <Manager-IP>

Dies gibt dir einen Token, den du benötigst, um Worker-Nodes hinzuzufügen. Der Befehl sieht etwa so aus:

docker swarm join --token <token> <Manager-IP>:2377

3. Worker-Node zum Swarm hinzufügen

Auf jedem Worker-Node den Swarm beitreten, indem du den oben erhaltenen join-Befehl ausführst:

sudo docker swarm join --token <token> <Manager-IP>:2377

4. Swarm-Status überprüfen

Auf dem Manager-Node den Swarm-Status mit folgendem Befehl überprüfen:

sudo docker node ls

Dies listet alle Nodes auf, die dem Swarm beigetreten sind.

5. Dienste im Swarm bereitstellen

Jetzt kannst du Container als Dienste im Swarm starten. Zum Beispiel einen einfachen Nginx-Service bereitstellen:

sudo docker service create --name nginx --replicas 3 -p 80:80 nginx

Dieser Befehl erstellt einen Service namens nginx mit 3 Replikaten und veröffentlicht Port 80.

6. Swarm-Dienste überwachen

Die laufenden Dienste überwachen:

sudo docker service ls

Details zu einem bestimmten Service abrufen:

sudo docker service ps nginx

Fazit

Docker Swarm bietet eine einfache Möglichkeit, Container in einem Cluster zu verwalten. Mit minimalem Setup können mehrere Docker-Hosts zu einem leistungsfähigen Orchestrierungs-Cluster zusammengefügt werden. Es ist eine geeignete Lösung für einfache bis mittelgroße Projekte, die Containerisierung und Skalierung erfordern.

Kategorien: Allgemein