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?

  1. Hosts konfigurieren
  2. Docker-ce installieren
  3. Docker Swarm initialisieren
  4. 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/hosts

Fügen Sie die folgende Konfiguration am Ende der Zeile hinzu.

132.92.41.4    manager  
132.92.41.5    worker01

Speichern und beenden.

Pingen Sie nun alle Knoten mit ‘hostname’ anstelle der IP-Adresse an.

ping -c 3 manager  
ping -c 3 worker01

Und stellen Sie sicher, dass es auf allen Hosts funktioniert.

Hosts konfigurieren

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 -y

Fü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.list

Aktualisieren Sie das Repository und installieren Sie die Docker-ce-Pakete mit dem folgenden apt install-Befehl.

sudo apt update  
sudo apt install docker-ce -y

Nachdem 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 docker

Docker-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 mohammad

Melden Sie sich nun beim Benutzer ‘mohammad’ an und führen Sie den Docker hello-world-Befehl wie unten aus.

su - mohammad  
docker run hello-world

Und Sie erhalten die Hello World-Nachricht von Docker, wie unten gezeigt.

Docker-ce installieren

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.4

Und 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:2377

Jetzt 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 ls

Jetzt 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-alpine

Und wenn er erstellt wurde, überprüfen Sie dies mit dem Docker-Service-Befehl unten.

docker service ls

Und 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=2

Und nachdem es abgeschlossen ist, überprüfen Sie erneut mit dem Docker-Service-Befehl.

docker service ls

Und jetzt hat der Server 2 Replikate.

Replikate und Dienst skalieren

Öffnen Sie Ihren Webbrowser und geben Sie die IP-Adresse des Manager-Knotens mit Port 8080 ein.

http://manager:8080/

Und Sie erhalten die Standardseite von Nginx.

Unten ist das Ergebnis vom ‘worker01’-Knoten.

http://worker01:8080/

Das Swarm-Cluster wurde erstellt, und der Nginx-Dienst wurde erfolgreich in unserem Swarm-Cluster bereitgestellt.

Referenz

Share: X/Twitter LinkedIn

Erhalte neue Beiträge in deinem Posteingang.

Kein Spam. Jederzeit abmelden.