Docker-Anleitung · 5 min read · Feb 05, 2026

Docker Anleitung: Traefik installieren - ein moderner Reverse-Proxy für Microservices

Traefik ist ein moderner HTTP-Reverse-Proxy und Lastenausgleich für Microservices. Traefik erleichtert die Bereitstellung aller Microservices und ist in bestehende Infrastrukturkomponenten wie Docker, Swarm-Modus, Kubernetes, Amazon ECS, Rancher, Etcd, Consul usw. integriert.

Traefik fungiert als Router für alle Ihre Microservices-Anwendungen und leitet alle Client-Anfragen an das richtige Ziel der Microservices weiter.

In diesem Tutorial zeige ich Ihnen Schritt für Schritt, wie Sie den modernen Reverse-Proxy Traefik als Docker-Container auf Ubuntu 18.04 LTS (Bionic Beaver) installieren und konfigurieren.

Voraussetzungen

  • Ubuntu 18.04
  • Root-Rechte

Was werden wir tun?

  1. Docker auf Ubuntu 18.04 installieren
  2. Docker Compose installieren
  3. Benutzerdefiniertes Docker-Netzwerk erstellen
  4. Traefik installieren und konfigurieren
  5. Testen

Schritt 1 - Docker auf Ubuntu 18.04 installieren

Für diesen Leitfaden verwenden wir die neueste Docker-Version, die aus dem offiziellen Docker-Repository installiert werden kann.

Fügen Sie den Docker-Schlüssel und das Repository mit dem folgenden Befehl hinzu.

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

Der Befehl ‘add-apt-repository’ aktualisiert automatisch alle Repositories.

Docker auf Ubuntu installieren

Jetzt installieren Sie die neueste docker-ce.

sudo apt install docker-ce

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

Die Docker-Community-Edition wurde auf dem Ubuntu 18.04-System installiert, überprüfen Sie die installierte Docker-Version.

docker version

Docker-Version überprüfen

Zusätzliche: Docker für nicht-root Benutzer ausführen

Docker-Container können unter einem nicht-root Benutzer ausgeführt werden. Wir müssen nur den Benutzer zur Docker-Gruppe hinzufügen.

Fügen Sie den Benutzer ‘mohammad’ hinzu.

useradd -m -s /bin/bash mohammad

Fügen Sie jetzt den Benutzer ‘mohammad’ zur Docker-Gruppe hinzu und starten Sie den Docker-Dienst neu.

usermod -a -G docker mohammad  
systemctl restart docker

Testen Sie, indem Sie das Docker hello-world ausführen.

docker run -it hello-world

Und folgendes ist das Ergebnis.

Docker für nicht-root Benutzer ausführen

Schritt 2 - Docker Compose installieren

Docker-Compose ist ein Befehlszeilenwerkzeug zum Definieren und Verwalten von Multi-Container-Docker-Anwendungen.

Docker Compose ist ein Python-Skript, das mit dem Python-Pip-Befehl oder mit dem Apt-Befehl aus dem Ubuntu-Repository einfach installiert werden kann. Mit Compose können wir mehrere Docker-Container mit einem einzigen Befehl ausführen.

Installieren Sie Docker Compose aus dem Repository mit dem folgenden Apt-Befehl.

sudo apt install docker-compose

Nachdem die Installation abgeschlossen ist, überprüfen Sie die Docker-Compose-Version.

docker-compose version

Docker Compose 1.17 wurde auf Ubuntu 18.04 installiert.

Docker Compose installieren

Schritt 3 - Benutzerdefiniertes Docker-Netzwerk erstellen

In diesem Tutorial wird der Traefik-Container im benutzerdefinierten Docker-Netzwerk ausgeführt. Daher müssen wir ein neues benutzerdefiniertes Docker-Netzwerk auf dem Server erstellen.

Überprüfen Sie die verfügbaren Docker-Netzwerke im System.

docker network ls

Erstellen Sie jetzt ein neues benutzerdefiniertes Netzwerk mit dem Namen ‘proxy’ für den Traefik-Container.

docker network create proxy

Und Sie erhalten eine zufällige Zeichenfolge des Netzwerknamens. Überprüfen Sie erneut das verfügbare Netzwerk.

docker network ls

Unten ist das Ergebnis dargestellt.

Benutzerdefiniertes Docker-Netzwerk erstellen

Das benutzerdefinierte Docker-Netzwerk mit dem Namen ‘proxy’ für Traefik wurde erstellt.

Schritt 4 - Traefik Reverse Proxy installieren und konfigurieren

In diesem Schritt erstellen wir den Traefik-Container mit aktiviertem HTTPS Letsencrypt (unter Verwendung eines Domainnamens ‘traefik.hakase-labs.io’) und leiten automatisch HTTP zu HTTPS auf Traefik um.

Traefik Vorinstallation

Bevor wir alle Traefik-Konfigurationen erstellen, müssen wir ‘apache2-utils’ installieren, um das verschlüsselte htpasswd-Passwort zu generieren und das neue Traefik-Verzeichnis zu erstellen.

Installieren Sie ‘apache2-utils’ mit dem folgenden Apt-Befehl.

sudo apt install apache2-utils -y

Führen Sie jetzt den folgenden htpasswd-Befehl aus, um ein neues Passwort für die Traefik-Dashboard-Authentifizierung zu generieren.

htpasswd -nb mohammad password

Bewahren Sie das Ergebnis in Ihren Notizen auf.

mohammad:$apr1$hEgpZUN2$OYG3KwpzI3T1FqIg9LIbi.

Traefik Reverse Proxy installieren und konfigurieren

Als nächstes melden Sie sich beim Benutzer ‘mohammad’ an.

su - mohammad

Erstellen Sie ein neues Verzeichnis mit dem Namen ‘traefik’ für alle Traefik-Konfigurationen.

mkdir -p traefik/  
cd traefik/

Traefik-Konfiguration erstellen

Gehen Sie in das Verzeichnis ‘traefik’ und erstellen Sie eine neue Konfigurationsdatei ‘traefik.toml’ mit dem Vim-Editor.

cd traefik/  
vim traefik.toml

Fügen Sie die folgende Konfiguration ein.

#Traefik Globale Konfiguration
debug = false
checkNewVersion = true
logLevel = "ERROR"

#Definieren Sie den EntryPoint für HTTP und HTTPS
defaultEntryPoints = ["https","http"]

#Aktivieren Sie das Traefik-Dashboard auf Port 8080
#mit der grundlegenden Authentifizierungsmethode
#mohammad und password
[web]
address = ":8080"
[web.auth.basic]
users = ["mohammad:$apr1$hEgpZUN2$OYG3KwpzI3T1FqIg9LIbi."]

#Definieren Sie den HTTP-Port 80 und
#HTTPS-Port 443 EntryPoint
#Aktivieren Sie automatisch die Umleitung von HTTP zu HTTPS
[entryPoints]
[entryPoints.http]
address = ":80"
[entryPoints.http.redirect]
entryPoint = "https"
[entryPoints.https]
address = ":443"
[entryPoints.https.tls]

#Aktivieren Sie das erneute Senden einer Anfrage bei Netzwerkfehlern
[retry]

#Definieren Sie die Docker-Backend-Konfiguration
[docker]
endpoint = "unix:///var/run/docker.sock"
domain = "traefik.hakase-labs.io"
watch = true
exposedbydefault = false

#Letsencrypt Registrierung
#Definieren Sie die Letsencrypt ACME HTTP-Herausforderung
[acme]
email = "[email protected]"
storage = "acme.json"
entryPoint = "https"
OnHostRule = true
  [acme.httpChallenge]
  entryPoint = "http"

Speichern und beenden.

Hinweis:

Alle Informationen zur Konfiguration befinden sich im Kommentarbereich ‘#…‘.

Traefik Docker Compose-Skript erstellen

Erstellen Sie jetzt das Docker-Compose-YML-Skript.

vim docker-compose.yml

Fügen Sie die folgende Konfiguration ein.

version: '3'

services:

  traefik:
    image: traefik:latest
    command: --docker --docker.domain=hakase-labs.io
    ports:
      - 80:80
      - 443:443
    networks:
      - proxy
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - ./traefik.toml:/traefik.toml
      - ./acme.json:/acme.json
    labels:
      - "traefik.frontend.rule=Host:traefik.hakase-labs.io"
      - "traefik.port=8080"
    container_name: traefik
    restart: always

networks:
  proxy:
    external: true

Speichern und beenden.

Hinweis:

  1. Wir erstellen einen neuen Container mit dem Namen ‘traefik’ basierend auf dem Docker-Image ‘traefik:latest’.
  2. Der ‘traefik’-Container wird im benutzerdefinierten Docker-Netzwerk mit dem Namen ‘proxy’ ausgeführt und exponiert die externen Ports HTTP 80 und HTTPS 443.
  3. Der Container wird die Traefik-Konfiguration ‘traefik.toml’ und ‘acme.json’ sowie die Docker-Sock-Datei einbinden.
  4. Label-Konfiguration für Traefik, den Frontend-Domainnamen und den Traefik-Port.

Letsencrypt ACME-Konfiguration

Die ACME-Konfiguration in ‘traefik.toml’ wird verwendet, um automatisch das SSL-Letsencrypt zu generieren. Und es ist erforderlich für die Speicherdatei ‘acme.json’.

Erstellen Sie eine neue JSON-Datei ‘acme.json’ und ändern Sie die Berechtigung auf ‘600’.

touch acme.json  
chmod 600 acme.json

Alle Protokolle über SSL-Letsencrypt-Informationen werden in der Datei gespeichert.

Traefik-Container erstellen

Jetzt sind wir bereit, unseren eigenen Traefik-Container mit den obigen Konfigurationsdateien zu erstellen.

cd traefik/  
ls -lah

Alle Konfigurationen ‘traefik.toml’, ‘docker-compose.yml’ und ‘acme.json’ Dateien.

Traefik-Container erstellen

Bauen Sie den Container mit dem Docker-Compose-Befehl unten.

docker-compose up -d

Wenn es abgeschlossen ist, überprüfen Sie den laufenden Container.

docker-compose ps

Und Sie erhalten den Traefik-Container, der läuft und die externen Ports HTTP und HTTPS exponiert.

Schritt 5 - Testen

Öffnen Sie Ihren Webbrowser und geben Sie den Traefik-Domainnamen in die Adresszeile ein. Meiner ist:

http://traefik.hakase-labs.io/

Sie werden zur HTTPS-Verbindung umgeleitet und aufgefordert, sich mit Benutzername und Passwort zu authentifizieren.

Melden Sie sich mit dem Benutzer ‘mohammad’ und dem Passwort ‘password’ an.

Und Sie erhalten das Traefik-Dashboard wie unten.

Traefik Dashboard

Traefik Gesundheitsstatusseite.

Traefik Gesundheitsstatusseite

Traefik moderner HTTP-Reverse-Proxy wurde als Docker-Container auf Ubuntu 18.04 installiert.

Referenz

Share: X/Twitter LinkedIn

Erhalte neue Beiträge in deinem Posteingang.

Kein Spam. Jederzeit abmelden.