Docker Swarm · 4 min read · Feb 07, 2026
So richten Sie ein Docker Swarm-Cluster auf Ubuntu ein und konfigurieren es

Docker Swarm ist ein Tool, das es Ihnen ermöglicht, ein Cluster von Docker-Hosts bereitzustellen. Es ist ein natives Clustering-Tool, das von Docker bereitgestellt wird und hohe Verfügbarkeit und hohe Leistung für Ihre Anwendung bietet, indem es sie auf alle Knoten im Swarm-Cluster verteilt.
In diesem Tutorial zeigen wir Ihnen Schritt für Schritt, wie Sie ein Swarm-Cluster mit Ubuntu 16.04 erstellen. Wir werden ein Swarm-Cluster mit 2 Ubuntu-Servermaschinen erstellen, 1 Serverknoten als Manager und 1 weiteren als Worker. Anschließend werden wir versuchen, den einfachen Nginx-Dienst im Swarm-Cluster bereitzustellen.
Voraussetzungen
- 2 oder mehr - Ubuntu 16.04 Server - manager 132.92.41.4
- worker01 132.92.41.5
- Root-Rechte
Was werden wir tun?
- Hosts konfigurieren
- Docker-ce installieren
- Docker Swarm initialisieren
- Ersten Dienst im Cluster bereitstellen
Schritt 1 - Hosts konfigurieren
Bevor wir Pakete für das Swarm-Cluster installieren, werden wir die Hosts-Datei auf beiden Servern konfigurieren.
Führen Sie die folgenden Befehle auf allen Servern, ‘manager’ und ‘worker01’, aus.
Bearbeiten Sie die Datei ‘/etc/hosts’ mit dem vim-Editor.
vim /etc/hostsFügen Sie die folgende Konfiguration am Ende der Zeile hinzu.
132.92.41.4 manager
132.92.41.5 worker01Speichern und beenden.
Pingen Sie nun alle Knoten mit ‘hostname’ anstelle der IP-Adresse an.
ping -c 3 manager
ping -c 3 worker01Und stellen Sie sicher, dass es auf allen Hosts funktioniert.

Schritt 2 - Docker-ce installieren
Um das Swarm-Cluster zu erstellen, müssen wir Docker auf allen Serverknoten installieren. In diesem Schritt installieren wir Docker-ce Community Edition auf beiden Servern, manager und worker01.
Installieren Sie die Docker-ce-Abhängigkeiten mit dem folgenden apt-Befehl.
sudo apt install apt-transport-https software-properties-common ca-certificates -yFügen Sie nun den Docker-Schlüssel und das Docker-ce-Repository zu unseren Servern hinzu.
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -
sudo echo "deb [arch=amd64] https://download.docker.com/linux/ubuntu xenial stable" > /etc/apt/sources.list.d/docker-ce.listAktualisieren Sie das Repository und installieren Sie die Docker-ce-Pakete mit dem folgenden apt install-Befehl.
sudo apt update
sudo apt install docker-ce -yNachdem die Installation abgeschlossen ist, starten Sie den Docker-Dienst und aktivieren Sie ihn, damit er bei jedem Systemstart gestartet wird.
systemctl start docker
systemctl enable dockerDocker-ce ist jetzt auf unseren Serverknoten installiert.
Als Nächstes werden wir Docker so konfigurieren, dass es als normaler Benutzer oder Nicht-Root-Benutzer ausgeführt wird.
Erstellen Sie einen neuen Benutzer mit dem Namen ‘mohammad’ und fügen Sie ihn zur ‘docker’-Gruppe hinzu.
useradd -m -s /bin/bash mohammad
sudo usermod -aG docker mohammadMelden Sie sich nun beim Benutzer ‘mohammad’ an und führen Sie den Docker hello-world-Befehl wie unten aus.
su - mohammad
docker run hello-worldUnd Sie erhalten die Hello World-Nachricht von Docker, wie unten gezeigt.

Schritt 3 - Swarm-Cluster erstellen
In diesem Schritt werden wir das Swarm-Cluster unserer Knoten erstellen. Um die Swarm-Cluster-Knoten zu erstellen, müssen wir den Swarm-Modus auf dem ‘manager’-Knoten initialisieren und dann den ‘worker01’-Knoten zum Cluster hinzufügen.
Initialisieren Sie den Docker Swarm-Modus, indem Sie den folgenden Docker-Befehl auf dem ‘manager’-Knoten ausführen.
docker swarm init --advertise-addr 132.92.41.4Und Sie erhalten das Ergebnis, wie unten gezeigt.
Sie werden sehen, dass ein ‘join-token’ vom ‘manager’-Knoten generiert wurde.
Als Nächstes müssen wir den ‘worker01’-Knoten zum Cluster ‘manager’ hinzufügen. Um dies zu tun, benötigen wir ein ‘join-token’ vom Cluster ‘manager’-Knoten, also stellen Sie sicher, dass Sie es auf Ihrem Notizblock notieren.
Führen Sie den Docker Swarm Join-Befehl auf dem ‘worker01’-Knoten aus.
docker swarm join --token SWMTKN-1-5p5ujrr67rl2rlmyvrj56fksblbcrtaeirf7fj5r4snid2vn6y-918gbqr02m64xct43i2ssi4qs 132.92.41.4:2377Jetzt erhalten Sie das Ergebnis, wie unten gezeigt.
Der ‘worker01’-Knoten wurde dem Cluster hinzugefügt.
Überprüfen Sie dies, indem Sie den folgenden Befehl auf dem ‘manager’-Knoten ausführen.
docker node lsJetzt sehen Sie, dass der ‘worker01’-Knoten dem Swarm-Cluster beigetreten ist.
Das Swarm-Cluster wurde erstellt.
Schritt 4 - Ersten Dienst im Cluster bereitstellen
In diesem Schritt werden wir unseren ersten Dienst im Swarm-Cluster erstellen und bereitstellen. Wir möchten einen neuen Dienst, den Nginx-Webserver, erstellen, der auf dem Standard-HTTP-Port 80 läuft, und ihn dann auf den Port 8080 des Host-Servers exponieren und versuchen, den Nginx-Dienst im Swarm-Cluster zu replizieren.
Dienst erstellen
Erstellen Sie einen neuen Nginx-Dienst mit dem Namen ‘my-web’ und exponieren Sie den HTTP-Port des Containers auf den Port 8080 des Hosts.
docker service create --name my-web --publish 8080:80 nginx:1.13-alpineUnd wenn er erstellt wurde, überprüfen Sie dies mit dem Docker-Service-Befehl unten.
docker service lsUnd Sie erhalten das Ergebnis, wie unten gezeigt.
Der Nginx-Dienst wurde erstellt und als Dienst mit dem Namen ‘my-web’ im Swarm-Cluster bereitgestellt, er basiert auf Nginx Alpine Linux, exponiert den HTTP-Port des Container-Dienstes auf den Port ‘8080’ auf dem Host und hat nur 1 Replikat.
Replikate und Dienst skalieren
Jetzt werden wir Replikate für den ‘my-web’-Dienst erstellen. Wir werden 2 Replikate des ‘my-web’-Dienstes erstellen, damit der Dienst sowohl auf den ‘manager’- als auch auf den ‘worker01’-Knoten zugänglich ist.
Um den ‘my-web’-Dienst zu replizieren, führen Sie den folgenden Befehl aus.
docker service scale my-web=2Und nachdem es abgeschlossen ist, überprüfen Sie erneut mit dem Docker-Service-Befehl.
docker service lsUnd jetzt hat der Server 2 Replikate.

Öffnen Sie Ihren Webbrowser und geben Sie die IP-Adresse des Manager-Knotens mit Port 8080 ein.
Und Sie erhalten die Standardseite von Nginx.
Unten ist das Ergebnis vom ‘worker01’-Knoten.
Das Swarm-Cluster wurde erstellt, und der Nginx-Dienst wurde erfolgreich in unserem Swarm-Cluster bereitgestellt.
Referenz
Erhalte neue Beiträge in deinem Posteingang.
Kein Spam. Jederzeit abmelden.