Traefik ist ein moderner Reverse Proxy und Load Balancer, der speziell für Container-Umgebungen entwickelt wurde. Diese Anleitung zeigt, wie Traefik auf Ubuntu installiert und konfiguriert wird. Voraussetzungen Ubuntu...
Anleitung personalisieren
Trage deine Domain ein, damit die Konfigurationsbeispiele direkt für dein Setup angezeigt werden.
Traefik ist ein moderner Reverse Proxy und Load Balancer, der speziell für Container-Umgebungen entwickelt wurde. Diese Anleitung zeigt, wie Traefik auf Ubuntu installiert und konfiguriert wird.
Voraussetzungen
- Ubuntu 22.04 oder neuer
- Benutzer mit
sudo-Rechten - Docker und Docker Compose installiert
1. System aktualisieren
Zuerst die Paketlisten aktualisieren:
sudo apt update && sudo apt upgrade -y
Falls Docker noch nicht installiert ist:
sudo apt install docker.io docker-compose -y sudo systemctl enable --now docker
2. Traefik-Container einrichten
Ein neues Verzeichnis für Traefik erstellen:
mkdir -p ~/traefik && cd ~/traefik
Dann die docker-compose.yml-Datei anlegen:
nano docker-compose.yml
Folgenden Inhalt einfügen:
version: "3.8"
services:
traefik:
image: traefik:v2.10
restart: always
container_name: traefik
ports:
- "80:80"
- "443:443"
- "8080:8080" # Traefik-Dashboard
volumes:
- /var/run/docker.sock:/var/run/docker.sock:ro
- ./traefik.yml:/etc/traefik/traefik.yml:ro
- ./acme.json:/acme.json
networks:
- web
networks:
web:
external: true
3. Traefik-Konfiguration erstellen
Eine neue traefik.yml-Datei erstellen:
nano traefik.yml
Folgenden Inhalt einfügen:
global:
checkNewVersion: true
sendAnonymousUsage: false
entryPoints:
web:
address: ":80"
websecure:
address: ":443"
providers:
docker:
exposedByDefault: false
api:
dashboard: true
insecure: true
Dann eine Datei für Let’s Encrypt-Zertifikate erstellen:
touch acme.json chmod 600 acme.json
4. Traefik starten
Den Container mit Docker Compose starten:
docker-compose up -d
Den Status überprüfen:
docker ps
Das Traefik-Dashboard ist nun unter http://<server-ip>:8080 erreichbar.
5. Beispiel: Container mit Traefik verbinden
Ein Testcontainer mit einem Traefik-Label starten:
docker run -d \ --name whoami \ --label "traefik.enable=true" \ --label "traefik.http.routers.whoami.rule=Host(`whoami.example.com`)" \ --label "traefik.http.routers.whoami.entrypoints=web" \ --network web \ containous/whoami
Nun kann whoami.example.com im Browser aufgerufen werden (Domain muss in /etc/hosts eingetragen oder mit einer echten Domain verwendet werden).
Fazit
Traefik ist eine flexible und leistungsfähige Lösung für das Routing von Containern. Besonders in Docker-Umgebungen bietet es viele Vorteile gegenüber traditionellen Reverse Proxys wie Nginx.