Docker Swarm · 8 min read · Oct 05, 2025
So installieren Sie Docker Swarm auf Ubuntu 22.04

Docker Swarm ist eine Container-Orchestrierung, die auf Docker Engine basiert. Es ermöglicht Ihnen, einen Cluster von Docker-Knoten auf mehreren Servern zu erstellen und bereitzustellen. Docker Swarm vereinfacht die Bereitstellung Ihrer containerisierten Anwendungen in einen Dienst. Es bietet eine einfache und unkomplizierte Möglichkeit, Container zu verwalten und zu orchestrieren.
Docker Swarm bietet ein hohes Maß an verfügbaren Anwendungen. In Docker Swarm können Sie eine einzelne Anwendung oder einen Dienst auf mehreren Knoten ausführen, die als “Worker Nodes” bezeichnet werden. Außerdem gibt es einen Knoten namens “Swarm Manager”, der die zentrale Verwaltung und Orchestrierung des Docker Swarm darstellt.
In diesem Tutorial zeigen wir Ihnen Schritt für Schritt, wie Sie die Docker Swarm-Software auf Ubuntu 22.04-Servern installieren.
Voraussetzungen
Um diese Anleitung abzuschließen, stellen Sie sicher, dass Sie über Folgendes verfügen:
- 3 Ubuntu-Server 22.04 - Einer wird als Swarm Master/Manager verwendet, und zwei Server werden als Worker Nodes verwendet.
- Ein Nicht-Root-Benutzer mit sudo-Administratorrechten.
Systeme einrichten
Bevor Sie Docker installieren und Docker Swarm konfigurieren, müssen Sie Ihre Systeme vorbereiten, indem Sie die folgenden Aufgaben ausführen:
- Ports für Docker Swarm öffnen: Sie müssen einige Ports öffnen, die von Docker Swarm auf allen Ihren Servern verwendet werden. Dies kann über UFW (Uncomplicated Firewall) erreicht werden.
- Docker-Repository hinzufügen: Sie werden das offizielle Docker-Repository verwenden, um Docker Engine auf allen Ihren Servern zu installieren.
Ports für Docker Swarm öffnen
Im folgenden Abschnitt öffnen Sie den Port 22 für SSH und dann die Ports 2377, 7946 und 4789 für Docker Swarm über UFW (Uncomplicated Firewall) auf dem Swarm Master/Manager und den Swarm Nodes. UFW ist standardmäßig installiert, aber noch nicht gestartet.
Zuerst führen Sie den folgenden Befehl aus, um das OpenSSH-Anwendungsprofil hinzuzufügen und den Standard-SSH-Port 22 zu öffnen. Dann starten und aktivieren Sie UFW.
sudo ufw allow OpenSSH
sudo ufw enableGeben Sie y ein, um fortzufahren, und Sie sollten die Ausgabe Firewall ist aktiv und beim Systemstart aktiviert erhalten.

Führen Sie nun den folgenden Befehl aus, um die Ports zu öffnen, die von Diensten in Ihrer Swarm-Bereitstellung verwendet werden. In diesem Fall werden Ports zwischen 30000:35000 für Dienste zugewiesen.
sudo ufw allow 30000:35000/tcpFühren Sie als Nächstes den folgenden Befehl aus, um die Ports für Docker Swarm zu öffnen.
for ports in 2377/tcp 7946/tcp 7946/udp 4789/udp
do
sudo ufw allow $ports
done
Laden Sie schließlich UFW neu und überprüfen Sie den UFW-Status, indem Sie den folgenden Befehl ausführen.
sudo ufw reload
sudo ufw statusSie sollten das OpenSSH-Anwendungsprofil und die für Docker Swarm geöffneten Ports einschließlich 2377, 7946 und 4789 auf UFW sehen.

Docker-Repository hinzufügen
Nachdem Sie UFW konfiguriert haben, müssen Sie das offizielle Docker-Repository zu Ihren Servern hinzufügen. Sie werden das offizielle Docker-Repository verwenden, um Docker Engine zu installieren.
Führen Sie den folgenden Befehl aus, um einige grundlegende Pakete auf Ihren Ubuntu-Servern zu installieren.
sudo apt install apt-transport-https ca-certificates curl gnupg lsb-release -y
Führen Sie als Nächstes den folgenden Befehl aus, um den Docker GPG-Schlüssel und das Repository zu Ihren Systemen hinzuzufügen.
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpgecho \
"deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
"$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/nullLaden Sie schließlich das Ubuntu-Repository auf jedem Server, indem Sie den folgenden Befehl ausführen.
sudo apt updateSie sollten sehen, dass das Docker-Repository während des Prozesses abgerufen wird.

Docker Engine installieren
Nachdem Sie Ihre Ubuntu-Systeme vorbereitet haben, installieren Sie Docker Engine auf diesen Servern.
Installieren Sie Docker Engine auf Ihren Ubuntu-Systemen mit dem folgenden Befehl. Geben Sie y ein, um die Installation zu bestätigen.
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
Sobald die Installation abgeschlossen ist, führen Sie den folgenden systemctl-Befehl aus, um den Docker-Dienst zu überprüfen und sicherzustellen, dass der Dienst läuft.
sudo systemctl is-enabled docker
sudo systemctl status dockerIn der folgenden Ausgabe sollten Sie sehen, dass der Docker-Dienst läuft und aktiviert ist.

(Optional): Erlauben Sie Nicht-Root-Benutzern, Docker-Container auszuführen
Wenn Sie Docker Swarm bereitstellen und Container mit einem Nicht-Root-Benutzer ausführen, müssen Sie Ihren Benutzer zur Docker-Gruppe hinzufügen, damit der Benutzer den Docker-Befehl ausführen und Container ausführen kann.
Führen Sie den folgenden usermod-Befehl aus, um Ihren aktuellen Benutzer zur Docker-Gruppe hinzuzufügen.
sudo usermod -aG docker usernameMelden Sie sich nun als Nicht-Root-Benutzer an und führen Sie den folgenden Docker-Befehl aus, um Ihre Konfiguration zu überprüfen.
su - username
docker run hello-worldWenn die Konfiguration erfolgreich ist, sollten Sie in der Lage sein, den Container hello-world auszuführen und die folgende Ausgabe zu erhalten:

Docker Swarm erstellen
Jetzt, da Sie Docker Engine installiert haben, sind Sie bereit, Docker mit Ihren Ubuntu-Servern zu erstellen und zu starten. In diesem Beispiel verwenden wir einen Server als Swarm Master/Manager und zwei Server als Worker Nodes.
Führen Sie die folgenden Aufgaben aus, um Docker Swarm einzurichten:
- Swarm-Modus auf dem Master/Manager initialisieren.
- Worker Nodes zum Docker Swarm hinzufügen.
Lassen Sie uns beginnen.
Swarm-Modus auf Master/Manager initialisieren
Um Docker Swarm zu initialisieren, führen Sie den folgenden docker swarm init-Befehl aus. Der zusätzliche Parameter –advertise-addr bindet den Docker Swarm an die spezifische IP-Adresse, und der Parameter –default-addr-pool bestimmt die interne IP-Adresse für Container, die im Swarm ausgeführt werden.
In diesem Beispiel wird der Docker Swarm-Modus an die IP-Adresse 192.168.5.30 gebunden, und der IP-Adresspool für Container ist 10.20.0.0/16.
docker swarm init --advertise-addr 192.168.5.30 --default-addr-pool 10.20.0.0/16Wenn der Initialisierungsprozess erfolgreich ist, wird die folgende Ausgabe angezeigt. In der Ausgabe sollten Sie das generierte Token zum Hinzufügen von Knoten zu Docker Swarm sehen.
Führen Sie als Nächstes den folgenden Befehl aus, um den Status des Swarm-Modus zu überprüfen.
docker infoWenn der Swarm-Modus aktiviert ist, sollten Sie die Ausgabe Swarm: active mit Details zu NodeID und dem Status von Manager und Node erhalten.

Führen Sie schließlich den folgenden Befehl aus, um die Liste der Knoten im Docker Swarm zu überprüfen.
docker node lsAn diesem Punkt ist nur ein Knoten in Ihrem Docker Swarm verfügbar, nämlich der Swarm Master/Manager.
Worker Nodes zum Docker Swarm hinzufügen
Nachdem Docker Swarm initialisiert wurde, können Sie Worker Nodes zu Ihrem Docker Swarm hinzufügen.
Zuerst führen Sie den folgenden Befehl aus, um das generierte Token für den Worker-Knoten anzuzeigen.
docker swarm join-token workerSie sollten Anweisungen zum Hinzufügen von Worker Nodes sehen, die das Token enthalten.
Wechseln Sie nun zum Worker-Knoten und fügen Sie den Worker-Knoten zum Docker Swarm hinzu, indem Sie den folgenden docker swarm join-Befehl ausführen.
docker swarm join --token SWMTKN-1-0i6kbe2oek1iw19jfpvd2j5l0dhfmssz4w505aeihx7ouz8wqc-2dbk7cnmo12uunj53eywwnqr7 192.168.5.30:2377Wenn der Prozess erfolgreich ist, wird die Ausgabe ‘Dieser Knoten ist als Worker einem Swarm beigetreten’ auf Ihrem Bildschirm angezeigt.
Wechseln Sie als Nächstes zurück zum Swarm Master/Manager und führen Sie den folgenden Befehl aus, um die Liste der verfügbaren Knoten zu überprüfen.
docker node lsWenn alles gut geht, werden drei Server im Docker Swarm verfügbar sein, 1 der Swarm Manager und 2 Worker Nodes mit dem Status Bereit und die Verfügbarkeit läuft.
Dienst im Docker Swarm ausführen
An diesem Punkt haben Sie erfolgreich Docker Swarm mit drei Ubuntu-Servern erstellt. Jetzt lernen Sie, wie Sie Ihre Anwendung in das Docker Swarm bereitstellen, das als Dienst bezeichnet wird. Ein Dienst ist ein Abbild Ihrer Microservice-Anwendung, und es könnte ein HTTP-Server, Datenbankserver oder andere Anwendungen sein.
In diesem Beispiel werden Sie einen einfachen HTTP-Dienst mit einem Nginx-Abbild bereitstellen.
Führen Sie den folgenden Befehl aus, um einen neuen Dienst in Ihrem Swarm zu erstellen. In diesem Beispiel erstellen Sie einen neuen Dienst test-nginx mit 1 Replikat, exponieren den Port 30001 und basieren auf dem nginx:alpine-Abbild.
docker service create --replicas 1 --name test-nginx -p 30001:80 nginx:alpineÜberprüfen Sie nun die Details des test-nginx-Dienstes mit dem folgenden Befehl.
docker service inspect test-nginx
docker service inspect --pretty test-nginxSie sollten detaillierte Informationen zum test-nginx-Dienst wie folgt sehen.

Überprüfen Sie als Nächstes die Liste der Docker-Dienste im Docker Swarm mit dem folgenden Befehl.
docker service ls
docker service ps test-nginxWenn erfolgreich, sollten Sie sehen, dass der test-nginx-Dienst auf dem NODE-Manager mit 1 Replikat und dem exponierten Port 30001 läuft.

Letztendlich greifen Sie auf den test-nginx-Dienst über die Host-IP-Adresse mit Port 30001 zu, indem Sie den folgenden curl-Befehl verwenden.
curl 192.168.5.30:30001
curl -I 192.168.5.30:30001Sie sollten den Quellcode der index.html-Seite und die Details der HTTP-Header sehen.

Dienst im Docker Swarm skalieren
Jetzt, da Sie den Docker-Dienst bereitgestellt haben, besteht die nächste Aufgabe darin, den Dienst im Docker Swarm zu skalieren. Dies wird die gewünschte Replikation Ihrer Dienste über die Worker Nodes erstellen.
Um einen Dienst zu skalieren, führen Sie den folgenden docker service scale-Befehl aus. In diesem Fall werden Sie den test-nginx-Dienst auf 3 Replikate skalieren.
docker service scale test-nginx=3
Führen Sie nun den folgenden Befehl aus, um den test-nginx-Dienst zu überprüfen. Wenn der test-nginx-Dienst skaliert wurde, sollten Sie zwei weitere Dienste sehen, die von Docker erstellt wurden und auf beiden Worker Nodes laufen.
docker service ps test-nginxWechseln Sie zum Terminal des Worker-Knotens und führen Sie den folgenden Befehl aus, um sicherzustellen, dass der test-nginx-Dienst läuft.
docker ps
curl 192.168.5.31:30001Wenn alles gut geht, sollten Sie den Container test-nginx.RANDOM-STRING mit dem Status Up auf jedem der Worker Nodes sehen.


Dienst im Docker Swarm löschen
Um Ihre Umgebung aufzuräumen, werden Sie den test-nginx-Dienst aus Docker Swarm löschen und das nginx:alpine-Docker-Abbild entfernen.
Löschen Sie den test-nginx-Dienst und überprüfen Sie die Liste der verfügbaren Dienste im Docker Swarm mit dem folgenden Befehl.
docker service rm test-nginx
docker service psEntfernen Sie nun das nginx:alpine-Abbild und überprüfen Sie die Liste der heruntergeladenen Abbilder für jeden Server mit dem folgenden Befehl.
docker rmi nginx:alpine
docker imagesFazit
Zusammenfassend haben Sie jetzt erfolgreich Docker Swarm auf Ubuntu 22.04 Schritt für Schritt installiert. Sie haben Docker Swarm mit drei Ubuntu-Servern bereitgestellt und gelernt, wie Sie Anwendungen oder Dienste in Docker Swarm bereitstellen, skalieren und entfernen.
Erhalte neue Beiträge in deinem Posteingang.
Kein Spam. Jederzeit abmelden.