Hinzufügen und Konfigurieren einer Docker-basierten Website in ServBay
ServBay ist eine lokale Web-Entwicklungsumgebung für macOS und Windows, die mehrere Programmiersprachen und Technologie-Stacks unterstützt. Neben dem direkten Hosten von Websites mit den integrierten Softwarepaketen von ServBay (z. B. PHP, Node.js, Python, Go, Java, Datenbanken usw.) bietet ServBay auch die Möglichkeit, Ihre Webseiten oder Services in Docker-Containern zu betreiben und zu verwalten. Diese Methode schafft maximale Flexibilität, Umgebungsisolation und Konsistenz – ideal für Projekte mit speziellen Anforderungen oder Abhängigkeiten.
In diesem Artikel erfahren Sie Schritt für Schritt, wie Sie eine Website, die in einem Docker-Container läuft, zu ServBay hinzufügen und sie mithilfe der Reverse-Proxy-Funktion in Ihren lokalen Entwicklungs-Workflow integrieren.
Übersicht
Durch die Konfiguration von ServBay als Reverse Proxy können Sie gewünschte Domain-Anfragen an einen Dienst weiterleiten, der innerhalb eines Docker-Containers auf einem bestimmten Port läuft. ServBay übernimmt die Abwicklung des eingehenden Traffics (z. B. HTTPS-Zertifikate, Domain-Weiterleitung), während Docker sich auf den Betrieb Ihrer Anwendung konzentriert. So kombinieren Sie die komfortable Bedienoberfläche von ServBay mit der mächtigen Containerisierung von Docker.
Die folgenden Schritte führen Sie durch den gesamten Prozess, um in ServBay eine Website hinzuzufügen und zu konfigurieren, die von einem Docker-Service bereitgestellt wird.
Voraussetzungen
Vor Beginn sollten diese Bedingungen erfüllt sein:
- ServBay installiert und gestartet: ServBay ist erfolgreich auf Ihrem macOS installiert und läuft.
- Docker installiert und gestartet: Docker Desktop oder eine andere Docker-Umgebung ist auf Ihrem macOS installiert und der Docker-Service läuft.
- Docker-Image und Container vorbereitet: Das Docker-Image mit Ihrer Website oder Anwendung ist gebaut oder heruntergeladen und kann als Container gestartet werden.
Schritt-für-Schritt-Anleitung zum Hinzufügen einer Website
Schritt 1: Docker-Container vorbereiten und starten
Stellen Sie sicher, dass Ihr Docker-Container läuft und der darin laufende Dienst (z. B. ein Webserver) seinen Port über die Port-Mapping-Funktion von Docker an einen verfügbaren Port des Host-Rechners (Ihres macOS) weitergibt.
Beispielsweise können Sie einen einfachen Nginx-Container, bei dem Nginx intern auf Port 80 hört, mit folgendem Befehl starten und den Port 8080 Ihres Hosts auf Port 80 des Containers abbilden:
bash
docker run -d --name my-nginx-servbay -p 8080:80 nginx
1
Im obigen Beispiel läuft der Nginx-Dienst im Container my-nginx-servbay
auf Port 80
. Durch den Parameter -p 8080:80
wird Port 80
des Containers auf Port 8080
Ihres macOS gemappt. ServBay verbindet sich anschließend mit dem Port 8080
des Host-Rechners.
Passen Sie diese Konfiguration je nach Ihren Anforderungen und Ihrem Dockerfile an. Ihr Dienst im Container muss auf den richtigen Port hören und dieser muss zu einem verfügbaren Port am Host gemappt sein.
Schritt 2: ServBay-Verwaltungsoberfläche öffnen
Suchen Sie das ServBay-Symbol im Programme-Ordner Ihres macOS und öffnen Sie das ServBay-Verwaltungspanel mit einem Doppelklick.
Schritt 3: Zur Website-Verwaltung navigieren
Nach dem Start von ServBay sehen Sie die Hauptoberfläche. Klicken Sie im Navigationsmenü auf der linken Seite auf „Websites“. Dies bringt Sie in die Website-Verwaltung von ServBay, in der Sie alle lokal eingerichteten Websites einsehen und konfigurieren können.
Abbildung: Klicken Sie im linken Menü auf „Websites“, um die Verwaltung zu öffnen.
Schritt 4: Neue Website hinzufügen
Am unteren Rand der Website-Verwaltungsseite finden Sie einen +
-Button. Mit einem Klick darauf öffnet ServBay rechts ein neues Formular zur Eingabe der Website-Konfiguration.
Abbildung: Mit Klick auf den „+“-Button am Seitenende eine neue Website ergänzen.
Schritt 5: Website konfigurieren
Geben Sie im neuen Konfigurationsformular folgende Schlüsselparameter ein:
- Name: Vergeben Sie einen leicht erkennbaren Namen, z. B.
Docker Nginx Demo
. Dieser dient ausschließlich der internen Organisation in ServBay. - Domain: Tragen Sie die gewünschte lokale Domain ein, über die Sie die Docker-Website im Browser erreichen möchten. Eine Endung wie
.servbay.demo
wird empfohlen, um Konflikte mit öffentlichen Domains zu vermeiden (z. B.docker.servbay.demo
). ServBay trägt Ihre Domain automatisch in die hosts-Datei des Systems ein, sodass sie auf127.0.0.1
zeigt. - Protokoll: Wählen Sie das unterstützte Protokoll für Ihre Website. Standardmäßig sind
HTTP/HTTPS
eingestellt. ServBay lauscht auf HTTP (Port 80) und HTTPS (Port 443) und verwendet Ihre SSL-Einstellungen. - SSL-Zertifikat-Anfragemethode: Wir empfehlen die Option
ServBay CA
. ServBay erstellt und verwaltet automatisch ein SSL-Zertifikat, dessen Vertrauenswürdigkeit durch die ServBay User CA gesichert wird. Wenn Sie das ServBay Public CA im macOS-Schlüsselbund installieren, werden diese lokalen Zertifikate vom Browser akzeptiert und Sie können bequem HTTPS-Entwicklung und Tests durchführen. Alternativ stehenACME
(z. B. für Let's Encrypt) oderCustom
(eigenes Zertifikat) zur Auswahl. - Website-Typ: [Wichtig] Wählen Sie
Reverse Proxy
. Dadurch dient ServBay als Eingangspunkt für diese Domain und leitet Anfragen an eine von Ihnen angegebene Backend-Adresse weiter. - IP-Adresse: Geben Sie die IP-Adresse ein, unter der der Docker-Service am Host erreichbar ist. Für die meisten lokalen Docker-Konfigurationen ist dies die Loopback-Adresse
127.0.0.1
. - Port: Tragen Sie den am Host freigegebenen Port Ihres Docker-Containers ein. Dies ist der
<Host-Port>
-Wert im Befehldocker run -p <Host-Port>:<Container-Port>
. Haben Sie z. B.-p 8080:80
gewählt, dann tragen Sie hier8080
ein.
Abbildung: Das Formular für die Konfiguration der Docker-Reverse-Proxy-Website.
Schritt 6: Konfiguration abschließen und speichern
Wenn alle nötigen Informationen eingetragen sind, klicken Sie auf Hinzufügen (Add)
am unteren Rand des Formulars.
ServBay verarbeitet Ihre Eingaben und ergänzt die nötigen Reverse-Proxy-Regeln im Webserver (z. B. Caddy oder Nginx). Außerdem wird die hosts-Datei so aktualisiert, dass die angegebene Domain auf Ihr lokales System zeigt.
Nach erfolgreicher Speicherung kann ServBay kurz die Konfiguration anwenden. Danach können Sie die gewählte Domain direkt im Browser testen.
Schritt 7: Website aufrufen und Schnellaktionen nutzen
Ist die Website gespeichert, erscheint sie als Eintrag in der Website-Verwaltung. Überprüfen Sie, ob der Status auf „Läuft“ steht.
Sie können Ihre gewählte Domain nun im Browser aufrufen (z. B. http://docker.servbay.demo
oder https://docker.servbay.demo
). Wenn die Konfiguration korrekt ist, leitet ServBay Anfragen an den Docker-Service weiter und Sie sehen die vom Container bereitgestellte Webseite.
Im Website-Eintrag bietet ServBay diverse praktische Schnellaktionen:
- Website-Stammverzeichnis im IDE öffnen: (Für Reverse-Proxy-Websites kann dieser Button ggf. auf das ServBay-Konfigurationsverzeichnis verweisen oder nicht verfügbar sein, abhängig von Version und Einstellungen.)
- Im Browser öffnen: Die Website-URL direkt in einem neuen Tab öffnen.
- Website-Log anzeigen: Einblick in die Zugriffs- und Fehlerprotokolle von ServBay für diese Website – hilfreich beim Debugging.
- Website pausieren/aktivieren: Die Reverse-Proxy-Konfiguration in ServBay temporär deaktivieren oder aktivieren.
- Website löschen: Die Website-Konfiguration aus ServBay entfernen.
Abbildung: Schnellzugriffsknöpfe im ServBay Website-Listen-Eintrag.
Hinweise & Best Practices
- Docker-Container-Status: Der Zielcontainer muss dauerhaft laufen, andernfalls kann ServBay keine Anfragen weiterleiten.
- Port-Mapping: Überprüfen Sie die Docker-Portzuordnung (
-p
-Parameter) sowie den eingetragenen Port in ServBay. Der Port darf nicht bereits von einem anderen Dienst auf dem Host blockiert sein. - Firewall-Einstellungen: Stellen Sie sicher, dass macOS-Firewall die Ports von ServBay (üblich: 80, 443) und die für Docker gemappten Ports nicht blockiert.
- Docker-Netzwerkmodus: Der Standardmodus
bridge
mit-p
-Portmapping ist in der Regel am einfachsten. Nutzen Sie den Modushost
, sollte ServBay direkt auf den Container-Port zugreifen (bei dessen Wahl tatsächlich z. B. 80). Imhost
-Modus kann es jedoch zu Port-Konflikten kommen. - ServBay CA: Für HTTPS-Entwicklung empfiehlt sich dringend die Installation von ServBay Public CA. So werden die lokal generierten Zertifikate von Ihrem Browser akzeptiert und Sie vermeiden Warnungen.
FAQ – Häufige Fragen und Problemlösungen
Frage: Nach dem Hinzufügen der Website ist sie im Browser nicht erreichbar oder es erscheint eine Timeout-Fehlermeldung?
Antwort: Prüfen Sie der Reihe nach:
- ServBay-Websitestatus: Wird die Website als „Läuft“ in der Verwaltung angezeigt?
- Docker-Containerstatus: Läuft der Zielcontainer? Prüfen Sie mit
docker ps
im Terminal. - Docker-Portzuordnung: Prüfen Sie mit
docker ps
die Portzuordnung (PORTS
). Der Host-Port (z. B.0.0.0.0:8080->80/tcp
oder127.0.0.1:8080->80/tcp
, hier also8080
) muss dem Eintrag in ServBay entsprechen. - Dienst im Container: Hört Ihr Webservice im Container (z. B. Nginx, Apache, Node-App) auf dem richtigen Port? Prüfen Sie den Container-Log mit
docker logs <Container-ID oder Name>
. - ServBay-Log: Klicken Sie in der Website-Liste auf das Log-Symbol, um Zugriffs- und Fehlerprotokolle von ServBay zu prüfen. Hier stehen bei Weiterleitungsproblemen oft Detailinformationen.
- hosts-Datei: ServBay sollte die hosts automatisch pflegen. Im Zweifel selbst die Datei
/etc/hosts
kontrollieren; zeigt Ihre Domain dort auf127.0.0.1
? - Firewall: Sperrt die Firewall eventuell die genutzten Ports von ServBay oder Docker am Host?
Frage: Kann ich Docker-Container direkt mit ServBay verwalten?
Antwort: ServBay verwaltet lokale Webdienste, Datenbanken und Entwicklungsumgebungen sowie die Traffic-Weiterleitung zu Backends (einschließlich Docker-Containern). Die komplette Verwaltung der Lebenszyklen von Docker-Containern (Start, Stop, Build usw.) ist nicht Bestandteil von ServBay – hierzu nutzen Sie weiterhin die Docker-CLI oder die Docker Desktop-Oberfläche.
Frage: Was ist die ServBay CA und warum sollte ich sie installieren?
Antwort: Die ServBay CA (Certificate Authority) ist das Zertifizierungs- und Verwaltungs-System für SSL-Zertifikate in ServBay, speziell für lokale HTTPS-Entwicklung. Die ServBay User CA signiert die Zertifikate für Ihre lokalen Websites. Die ServBay Public CA ist die Root-CA dazu. Sobald Sie ServBay Public CA in Ihrem macOS-Schlüsselbund installieren, werden alle Zertifikate der ServBay User CA von Betriebssystem und Browser akzeptiert. So erscheinen beim Zugriff auf via ServBay gehostete HTTPS-Websites keine Sicherheitswarnungen mehr. Das ist für die Simulation von produktivem HTTPS-Verhalten im lokalen Entwicklungsbetrieb unverzichtbar.
Fazit
Das Hinzufügen einer von Docker bereitgestellten Website in ServBay ist eine effiziente und flexible Methode, um einen zentralen Entwicklungs-Hub für Traffic- und Domain-Management bereitzustellen, während Docker die Isolierung und Ausführung Ihrer Umgebung übernimmt. Mit nur wenigen einfachen Reverse-Proxy-Einstellungen können Sie Ihre unterschiedlichen Docker-Projekte problemlos in den ServBay-Workflow integrieren. Wenn Sie die hier aufgelisteten Schritte und Hinweise befolgen, läuft Ihr Docker-basiertes lokales Webprojekt schnell und zuverlässig.