Schluss mit dem Port-Chaos
Kennst du das? Du hast fĂŒnf Projekte gleichzeitig laufen und versuchst dich zu erinnern: War die Datenbank-Admin-OberflĂ€che auf Port 8081 oder 8888? Und wo lief nochmal die Frontend-App?
Mit Traefik gehört dieses Raten der Vergangenheit an. Traefik ist ein moderner "Edge Router", der deine Docker-Container scannt und ihnen vollautomatisch Domains wie app.localhost oder db.localhost zuweist.
Vorbereitung: Deine neue Kommandozentrale
Wir erstellen eine isolierte Umgebung fĂŒr unser Gateway:
mkdir mein-traefik-setup && cd mein-traefik-setup
Schritt 1: Das HerzstĂŒck (docker-compose.yml)
Traefik braucht kaum Konfiguration in Dateien â es liest alles direkt aus den Docker-Labels.
mein-traefik-setup/docker-compose.yml:
version: '3'
services:
traefik:
image: traefik:v2.10
command:
- "--api.insecure=true" # Aktiviert das Dashboard (nicht fĂŒr Produktion!)
- "--providers.docker=true"
- "--providers.docker.exposedbydefault=false"
- "--entrypoints.web.address=:80"
ports:
- "80:80"
- "8080:8080" # Das Dashboard
volumes:
- /var/run/docker.sock:/var/run/docker.sock:ro
networks:
- web
networks:
web:
external: false
Schritt 2: Ein Sample-Service verbinden
Jetzt zeigen wir, wie einfach es ist, eine neue App hinzuzufĂŒgen. Wir nutzen das whoami Image, das uns einfach nur Informationen ĂŒber den Request anzeigt.
Erweitere deine docker-compose.yml um diesen Block:
whoami:
image: traefik/whoami
networks:
- web
labels:
- "traefik.enable=true"
- "traefik.http.routers.whoami.rule=Host(`whoami.localhost`)"
- "traefik.http.services.whoami.loadbalancer.server.port=80"
Schritt 3: Starten und Staunen
Bringe alles mit einem Befehl online:
docker compose up -d
â ïž đž SCREENSHOT ANFRAGE: Hier einen Screenshot vom Browser einfĂŒgen, der die Adresse
whoami.localhostaufruft und die Antwort des Containers zeigt.
Warum ist das ein Gamechanger?
- Keine statischen Configs: Du musst Nginx nicht jedes Mal neu konfigurieren, wenn ein Container dazukommt. Traefik hört auf den Docker-Socket.
- Dashboard: Unter
http://localhost:8080siehst du live, welche Routen Traefik gerade verwaltet. - SSL-Ready: Traefik kann (in der Produktion) automatisch Zertifikate von Let's Encrypt holen und verwalten.
â ïž đž SCREENSHOT ANFRAGE: Hier einen Screenshot des Traefik Dashboards (
localhost:8080) zeigen.
Fazit
Traefik verwandelt dein lokales Docker-Setup von einer unĂŒbersichtlichen Port-Sammlung in eine professionelle Microservice-Landschaft. Sobald du einmal die "Magie" der automatischen Erkennung erlebt hast, willst du nie wieder zurĂŒck zu manuellem Reverse-Proxying.
Profi-Tipps fĂŒrs Cheatsheet
- Logs in Echtzeit:
docker compose logs -f traefik - Dashboard abschalten (Prod): Entferne
--api.insecure=trueim Command-Block. - Mehrere Domains: Du kannst in der
Host()-Regel auch mehrere Domains mit||trennen.
Login