Hinzufügen und Konfigurieren einer auf Docker-Containern basierenden Website in ServBay
ServBay ist eine speziell für macOS entwickelte lokale Web-Entwicklungsumgebung, die verschiedene Programmiersprachen und Technologiestacks unterstützt. Neben dem direkten Betrieb der in ServBay integrierten Softwarepakete (wie PHP, Node.js, Python, Go, Java, Datenbanken usw.) können Sie auch Docker-Container nutzen, um Ihre Websites oder Dienste auszuführen und zu verwalten. Diese Methode bietet maximale Flexibilität, isolierte Umgebungen und eine konsistente Arbeitsweise – ideal für Projekte mit speziellen Anforderungen an die Umgebung oder Abhängigkeiten.
In diesem Artikel erfahren Sie Schritt für Schritt, wie Sie eine von einem Docker-Container gehostete Website in ServBay hinzufügen und diese über die Reverse-Proxy-Funktion von ServBay nahtlos in Ihren lokalen Entwicklungsprozess integrieren.
Überblick
Indem Sie ServBay als Reverse Proxy konfigurieren, können Sie Anfragen an bestimmte Domains an Service-Ports innerhalb eines Docker-Containers weiterleiten. ServBay übernimmt das Handling des eingehenden Traffics (wie HTTPS-Zertifikate, DNS-Auflösung etc.), während der Docker-Container lediglich für die Ausführung Ihrer Anwendung zuständig ist. Dieses Konzept vereint die komfortable Verwaltungsoberfläche von ServBay mit der Stärke der Containerisierung durch Docker.
Die folgenden Schritte führen Sie durch den gesamten Ablauf, wie Sie in ServBay eine Website anlegen, die von einem Docker-Service bereitgestellt wird.
Voraussetzungen
Stellen Sie vorab sicher, dass folgende Bedingungen erfüllt sind:
- ServBay ist installiert und läuft: Sie haben ServBay auf Ihrem macOS erfolgreich installiert und gestartet.
- Docker ist installiert und läuft: Sie haben Docker Desktop oder eine andere Docker-Umgebung auf Ihrem macOS installiert und den Docker-Dienst gestartet.
- Docker-Image und Container sind bereit: Sie haben entweder ein eigenes Docker-Image gebaut oder eines mit Ihrer Website/Anwendung geladen und können daraus einen Container starten.
Detaillierte Schritte zum Hinzufügen einer Website
Schritt 1: Docker-Container vorbereiten und starten
Stellen Sie sicher, dass Ihr Docker-Container läuft und dass der interne Service (z. B. der Webserver) über das Port-Mapping von Docker auf einen erreichbaren Port des Hostsystems (also Ihres macOS) gemappt ist.
Wenn Sie beispielsweise einen einfachen Nginx-Container haben, der intern auf Port 80 hört, können Sie mit folgendem Befehl den Host-Port 8080 auf den Container-Port 80 abbilden:
docker run -d --name my-nginx-servbay -p 8080:80 nginx
In diesem Beispiel lauscht der Nginx-Service im Docker-Container my-nginx-servbay
auf Port 80
. Durch die Option -p 8080:80
wird der Container-Port 80
auf den Host-Port 8080
gemappt. ServBay wird dann mit dem Port 8080
Ihres Hostsystems kommunizieren.
Achten Sie darauf, dass alle im Container laufenden Dienste auf den korrekten Ports lauschen und diese entsprechend auf Ihren Host gemappt sind – genau wie es zu Ihrer Anwendung und Ihrem Dockerfile passt.
Schritt 2: ServBay Verwaltung öffnen
Suchen Sie das ServBay
Symbol im Programme-Ordner Ihres macOS und doppelklicken Sie, um die ServBay-Verwaltungsoberfläche zu öffnen.
Schritt 3: Zur Websiteverwaltung gehen
Nach dem Öffnen von ServBay erscheint die Hauptoberfläche. In der Navigationsleiste auf der linken Seite finden Sie den Menüpunkt Websites
. Klicken Sie darauf, um die Verwaltungsseite für lokale Websites zu erreichen und eine Übersicht sowie Konfigurationsmöglichkeiten für alle hinzugefügten Seiten zu erhalten.
Abbildung: Klicken Sie in der linken Navigation auf „Websites“, um die Verwaltungsseite zu öffnen.
Schritt 4: Neue Website hinzufügen
Am unteren Rand der Website-Verwaltung sehen Sie ein +
-Symbol. Klicken Sie dieses an, öffnet ServBay in der rechten Bereich ein neues Formular, in das Sie die Konfigurationsdaten für Ihre neue Website eintragen können.
Abbildung: Klicken Sie auf das „+“-Symbol am unteren Seitenrand, um eine neue Website anzulegen.
Schritt 5: Website-Einstellungen konfigurieren
Im neu geöffneten Konfigurationsformular tragen Sie folgende Schlüsseldaten ein:
- Name: Vergeben Sie einen leicht erkennbaren Namen für Ihre Website, z. B.
Docker Nginx Demo
. Dieser Name dient nur der internen Verwaltung in ServBay. - Domain: Geben Sie die lokale Domain, unter der Sie die Website im Browser aufrufen möchten, ein. Empfohlen wird die Endung
.servbay.demo
, um Konflikte mit öffentlichen Domains zu vermeiden – z. B.docker.servbay.demo
. ServBay passt die hosts-Datei Ihres Systems automatisch an, sodass Ihr Domainname auf127.0.0.1
verweist. - Protokoll: Wählen Sie das gewünschte Protokoll. Im Regelfall genügt das Standard-Setting
HTTP/HTTPS
. ServBay überwacht sowohl Port 80 (HTTP) als auch 443 (HTTPS) und verwaltet die SSL-Konfiguration. - SSL-Zertifikat-Anforderungsmethode: Empfehlenswert ist die Einstellung
ServBay CA
. ServBay erstellt und verwaltet dann selbstsignierte und lokal vertrauenswürdige SSL-Zertifikate mit einer eigenen CA. Wenn Sie das ServBay Public CA-Zertifikat in Ihren Schlüsselbund installieren, werden diese Zertifikate automatisch vom Browser akzeptiert: ideal für lokales HTTPS-Development und Testing. Alternativ können SieACME
(z. B. für Let's Encrypt) oderCustom
wählen, falls Sie eigene Zertifikate nutzen möchten. - Website-Typ: [Wichtig] Wählen Sie
Reverse Proxy (Umgekehrter Proxy)
. ServBay fungiert dann als Gateway für die Domain und leitet eintreffende Anfragen direkt an den angegebenen Backend-Service weiter. - IP-Adresse: Tragen Sie hier die IP-Adresse des Docker-Dienstes auf dem Host ein. Bei den allermeisten lokalen Docker-Setups ist das einfach die Loopback-Adresse
127.0.0.1
. - Port: Geben Sie den Port an, über den Ihr Docker-Service auf dem Host erreichbar ist. Das entspricht genau dem Port, den Sie im Befehl
docker run -p <Hostport>:<Containerport>
als<Hostport>
gewählt haben. Im Beispiel mit-p 8080:80
tragen Sie hier8080
ein.
Abbildung: Beispiel für ausgefüllte Konfiguration einer Docker-basierten Reverse Proxy Website.
Schritt 6: Konfiguration abschließen und speichern
Nachdem Sie alle Felder ausgefüllt haben, klicken Sie unten im Formular auf den Button Hinzufügen (Add)
.
ServBay übernimmt nun automatisch die Einrichtung, fügt die passenden Reverse-Proxy-Regeln in der eigenen Webserver-Konfiguration (z. B. Caddy oder Nginx) hinzu und aktualisiert die hosts-Datei Ihres Systems mit der gewählten Domain.
Bei erfolgreicher Speicherung dauert es unter Umständen einige Sekunden für die Anwendung der Einstellungen. Anschließend können Sie Ihre angelegte Domain direkt testen.
Schritt 7: Website aufrufen und Schnellaktionen nutzen
Nach erfolgreichem Speichern kehren Sie zur Websiteverwaltung zurück und sehen den Eintrag Ihrer neuen Seite – im Idealfall mit dem Status „Läuft“.
Sie können nun Ihre gewählte Domain direkt im Browser öffnen (zum Beispiel http://docker.servbay.demo
oder https://docker.servbay.demo
). Wenn alles korrekt eingerichtet ist, leitet ServBay Ihre Anfrage an den Docker-Service weiter und zeigt die dort bereitgestellte Seite im Browser an.
In der Website-Liste stellt ServBay außerdem praktische Schnellaktionen bereit, etwa:
- Website-Stammverzeichnis mit IDE öffnen: (Bei Reverse-Proxy-Websites ggf. nicht zutreffend oder verweist auf das Konfigurationsverzeichnis – abhängig von ServBay-Version und Setup)
- Website im Browser öffnen: Ein Klick genügt zum Öffnen der definierten URL in einem neuen Tab.
- Websitelogs anzeigen: ServBay zeigt auf Wunsch Zugriffs- und Fehlerprotokolle für die Seite – nützlich zum Debuggen.
- Website pausieren oder starten: Sie können die Reverse-Proxy-Konfiguration für diese Seite temporär deaktivieren oder reaktivieren.
- Website löschen: Entfernt die Website samt Konfiguration aus ServBay.
Abbildung: Schnellaktions-Buttons im Website-Eintrag von ServBay.
Hinweise & Best Practices
- Status der Docker-Container: Vergewissern Sie sich, dass der verwendete Container jederzeit läuft – nur dann kann ServBay Anfragen korrekt weiterleiten.
- Port-Mapping: Kontrollieren Sie das Port-Mapping (
-p
-Option) und die in ServBay eingetragene Portnummer. Achten Sie darauf, dass der gewählte Host-Port von keinem anderen Prozess belegt ist. - Firewall-Einstellungen: Stellen Sie sicher, dass weder Ports von ServBay (standardmäßig 80 und 443) noch die gemappten Ports des Docker-Containers durch die macOS-Firewall blockiert sind.
- Docker-Netzwerkmodus: Meist nutzen Sie den Standardmodus
bridge
mit explizitem Portmapping über-p
. Sollten Sie stattdessen den Modushost
verwenden, greift ServBay direkt auf den im Container geöffneten Port zu (z. B. bei 80, dann Port 80 in ServBay). Beachten Sie dabei aber mögliche Port-Konflikte. - ServBay CA: Für problemloses HTTPS-Development empfiehlt sich die Installation der „ServBay Public CA“. So werden die generierten lokalen Zertifikate systemweit als vertrauenswürdig behandelt und Sie erhalten keine Sicherheitswarnungen im Browser.
FAQ – Häufige Fragen und Fehlerbehebung
F: Nach dem Hinzufügen der Website ist diese nicht erreichbar, der Browser meldet Verbindungsfehler oder Timeout?
A: Prüfen Sie in folgenden Schritten:
- Status der Website in ServBay: Achten Sie in der Websitenverwaltung darauf, ob der Eintrag den Status „Läuft“ anzeigt.
- Status des Docker-Containers: Nutzen Sie im Terminal den Befehl
docker ps
, um zu prüfen, ob der Container tatsächlich läuft. - Port-Mapping des Containers: Mit
docker ps
sehen Sie im FeldPORTS
, welche Hostports auf den Container gemappt sind (z. B.0.0.0.0:8080->80/tcp
oder127.0.0.1:8080->80/tcp
). Stellen Sie sicher, dass der in ServBay angegebene Port übereinstimmt. - Service im Container geprüft: Kontrollieren Sie, ob der Webservice im Container (Nginx, Apache, Node-App etc.) auf dem richtigen Port lauscht und keine Fehler auftreten. Nützlich sind hierzu
docker logs <ContainerID oder Name>
. - ServBay-Logs ansehen: In ServBay können Sie sich die Zugriffs- und Fehlerprotokolle der Website anzeigen lassen – hier finden Sie meistens detaillierte Hinweise zu Problemen.
- hosts-Datei prüfen: Obwohl ServBay diese automatisch bearbeitet, können Sie
/etc/hosts
öffnen, um zu kontrollieren, ob die Domain korrekt auf127.0.0.1
zeigt. - Firewall überprüfen: Prüfen Sie, ob keine Firewall den Zugriff auf die benötigten Ports blockiert.
F: Kann ich mit ServBay auch die Docker-Container selbst verwalten?
A: ServBay konzentriert sich auf das Management lokaler Webdienste, Datenbanken, Entwicklungsumgebungen und das Routing des Traffics (einschließlich zu Docker-Containern). Eine Verwaltung des Lebenszyklus von Containern (Start, Stopp, Bau von Images usw.) ist nicht integriert – hierfür nutzen Sie weiter die Docker-CLI oder das Docker-Desktop-Frontend.
F: Was ist die ServBay CA und warum sollte ich sie installieren?
A: Die ServBay CA (Certificate Authority) ist ein von ServBay bereitgestelltes Mechanismus zur lokalen SSL-Zertifikatsverwaltung für das HTTPS-Development. Die ServBay User CA stellt für jede lokale Website ein individuelles Zertifikat aus. Die ServBay Public CA wiederum ist die Stammzertifizierungsstelle dieser User CA. Installieren Sie die ServBay Public CA in Ihrem macOS-Schlüsselbund, vertraut das System (inkl. Browser) allen von ServBay ausgestellten Zertifikaten. Beim Aufruf von lokalen HTTPS-Websites mit ServBay werden so Sicherheitswarnungen vermieden. Für ein produktionsnahes Testing lokal ist das essenziell.
Fazit
Das Hinzufügen einer von Docker-Containern betriebenen Website zu ServBay ist eine leistungsstarke und flexible Methode: Sie nutzen ServBay als zentrales Management- und Routing-Tool für Ihre lokale Entwicklungsumgebung und setzen zeitgleich auf die Stärken und Isolationsmöglichkeiten von Docker. Dank der unkomplizierten Reverse-Proxy-Konfiguration können Sie verschiedene Docker-basierte Projekte nahtlos in Ihren ServBay-Workflow integrieren. Mit den hier aufgezeigten Schritten und Hinweisen gelingt Ihnen die Einrichtung und der Betrieb von „dockerisierten“ lokalen Websites schnell und zuverlässig.