Een op Docker Container Gebaseerde Website Toevoegen en Configureren in ServBay
ServBay is een lokale webontwikkelomgeving speciaal ontworpen voor macOS, die verschillende programmeertalen en technologieën ondersteunt. Naast het direct hosten van websites via ingebouwde ServBay softwarepakketten (zoals PHP, Node.js, Python, Go, Java, databases, enz.), kun je ook gebruikmaken van Docker-containers om je websites of services te draaien en beheren. Deze methode biedt veel flexibiliteit, geïsoleerde omgevingen en consistentie — ideaal voor projecten met speciale eisen of afhankelijkheden.
In dit artikel vind je een gedetailleerde gids voor het toevoegen van een website draaiend in een Docker-container aan ServBay, waarbij je deze via de reverse proxy-functionaliteit van ServBay integreert in je lokale ontwikkelproces.
Overzicht
Door ServBay als reverse proxy te configureren, kun je specifieke domeinverzoeken doorsturen naar services die draaien binnen een Docker-container. ServBay handelt het inkomende verkeer af (zoals HTTPS-certificaten, DNS-resolutie, enz.), terwijl de Docker-container zich concentreert op het uitvoeren van je applicatie. Dit combineert het handige beheer van ServBay met de krachtige containerisatie van Docker.
Volg onderstaande stappen om een door Docker ondersteunde website in ServBay toe te voegen en te configureren.
Vereisten
Voordat je begint, zorg ervoor dat je aan het volgende voldoet:
- ServBay is geïnstalleerd en actief: ServBay is succesvol geïnstalleerd en gestart op je macOS-systeem.
- Docker is geïnstalleerd en actief: Docker Desktop of een andere Docker-omgeving is geïnstalleerd op je Mac en draait.
- Docker-afbeelding en container zijn klaar: Je hebt een Docker-image gebouwd of gedownload met jouw website of app, en je kunt er een container van starten.
Stapsgewijze Handleiding voor het Toevoegen van een Website
Stap 1: Bereid de Docker-container voor en start deze
Controleer eerst of je Docker-container draait en of de interne service (bijvoorbeeld de webserver) luistert op een poort die, via Docker's poortmapping, beschikbaar is op je host (je macOS-machine).
Als je bijvoorbeeld een eenvoudige Nginx-container hebt die intern luistert op poort 80, kun je het volgende commando gebruiken om poort 8080 van je host te koppelen aan poort 80 van de container:
bash
docker run -d --name my-nginx-servbay -p 8080:80 nginx
1
In dit voorbeeld luistert de Nginx-service binnen de container my-nginx-servbay
op poort 80
, maar met de parameter -p 8080:80
wordt poort 80
van de container gekoppeld aan poort 8080
op de host. ServBay zal moeten verbinden met poort 8080
van je Mac.
Pas de instellingen aan op basis van je toepassing en Dockerfile, en zorg ervoor dat je container-service luistert op de juiste poort die gemapped is naar een poort op je host.
Stap 2: Open de ServBay-beheerinterface
Ga naar de map Programma’s op je Mac en dubbelklik op het ServBay pictogram om de beheerinterface te openen.
Stap 3: Navigeer naar de Websitebeheerpagina
Na het openen van ServBay zie je het hoofdscherm. Klik in het linkermenu op de optie Websites
. Hierna kom je op de beheerpagina waar je een overzicht hebt van alle toegevoegde lokale websites.
Illustratie: Klik op "Websites" in de zijbalk om naar het beheer te gaan.
Stap 4: Voeg een nieuwe website toe
Helemaal onderaan op de websitebeheerpagina zie je een +
-knop. Klik hierop en er verschijnt aan de rechterkant een formulier waarin je de configuratiegegevens van je nieuwe website kunt invullen.
Illustratie: Klik op de “+”-knop onderaan de pagina om een nieuwe website toe te voegen.
Stap 5: Website-instellingen configureren
Vul in het nieuw geopende configuratieformulier de volgende kerngegevens in:
- Naam (Name): Geef de website een herkenbare naam, zoals
Docker Nginx Demo
. Deze naam wordt alleen intern binnen ServBay gebruikt. - Domein (Domain): Voer het lokale domein in waarmee je in je browser de Docker-website wilt openen. Gebruik bij voorkeur de
.servbay.demo
extensie om conflicten met publieke domeinen te voorkomen, bijvoorbeelddocker.servbay.demo
. ServBay configureert automatisch je hosts-bestand zodat het domein verwijst naar lokaal (127.0.0.1
). - Protocol: Kies het protocol dat je website ondersteunt. Gewoonlijk kun je de standaard
HTTP/HTTPS
aanhouden. ServBay luistert op zowel HTTP (80) als HTTPS (443) poorten en handelt je SSL-instellingen automatisch af. - SSL Certificaat Aanvraagmethode: Aanbevolen is
ServBay CA
. ServBay genereert en beheert dan automatisch een lokaal vertrouwd SSL-certificaat ondertekend door ServBay User CA. Als je de ServBay Public CA installeert in je Keychain, vertrouwt je browser deze lokale certificaten, wat het ontwikkelen en testen via HTTPS makkelijk maakt. Je kunt indien nodig ookACME
(voor Let's Encrypt) ofCustom
(eigen certificaat) kiezen. - Websitetype: [Belangrijk] Kies
Reverse Proxy (Omgekeerde Proxy)
. ServBay fungeert dan als inkomende gateway voor dat domein en stuurt verzoeken door naar het opgegeven backend-adres. - IP-adres: Vul het IP-adres in waarop je Docker-service luistert op de host. Voor de meeste lokale Docker-installaties is dat
127.0.0.1
. - Poort: Vul hier de poort in waarop je Docker-service op de host bereikbaar is. Dit is de poort die je in het commando
docker run -p <hostpoort>:<containerpoort>
als<hostpoort>
hebt ingegeven. Bijvoorbeeld: bij-p 8080:80
vul je hier8080
in.
Illustratie: Vul de configuratie van de Docker reverse proxy in.
Stap 6: Rond de configuratie af en sla op
Na het invullen van alle vereiste gegevens klik je op de Toevoegen (Add)
-knop onderaan het formulier.
ServBay verwerkt je aanvraag, voegt automatisch de juiste reverse proxy-regels toe aan de webserver (zoals Caddy of Nginx), en update het hosts-bestand van je systeem om het nieuwe domein lokaal te laten verwijzen.
Na succesvol opslaan moet ServBay mogelijk kort de instellingen toepassen; vervolgens kun je je nieuwe domein bezoeken in de browser.
Stap 7: Bezoek de website en gebruik snelle acties
Na het opslaan van de configuratie zie je de nieuwe website in de beheerpagina. Controleer of de status aangeeft dat deze "AAN" staat.
Je kunt nu het ingestelde domein bezoeken, bijvoorbeeld http://docker.servbay.demo
of https://docker.servbay.demo
. Als alles correct is geconfigureerd, stuurt ServBay je verzoeken door naar de Docker-container en zie je in je browser de inhoud van de service.
Bij elke websiteregel in de lijst vind je handige snelknoppen, waaronder:
- Website root openen in IDE: (Voor reverse proxy-websites is deze knop mogelijk niet toepasbaar of verwijst naar de ServBay-configuratiemap; gedrag kan afhangen van de versie of instellingen.)
- Website openen in browser: Open direct de URL van de website in een nieuw tabblad.
- Websitelogboeken bekijken: Bekijk toegang- en foutlogboeken van ServBay voor deze website, handig voor debugging.
- Website pauzeren/activeren: Zet de reverse proxy-configuratie van deze website tijdelijk uit of weer aan.
- Website verwijderen: Verwijder de website en zijn instellingen uit ServBay.
Illustratie: Snelknoppen bij iedere website in het overzicht van ServBay.
Let op & Best Practices
- Docker-containerstatus: Zorg dat de betreffende container altijd draait; ServBay kan anders geen verzoeken doorsturen.
- Poortmapping: Controleer goed of de poortmapping in Docker (
-p
parameter) correct is ingesteld, en dat het poortnummer overeenkomt met wat je in ServBay invult én dat het niet door een ander programma wordt gebruikt op de host. - Firewall: Controleer de firewallinstellingen op je Mac, en zorg dat zowel de standaardpoorten van ServBay (80, 443) als de door Docker gemappte poorten bereikbaar zijn.
- Docker-netwerkmodus: Meestal is de standaard
bridge
netwerkmodus met handmatige poortmapping (-p
) het simpelst. Als jehost
modus gebruikt, kan ServBay direct verbinden met de poort waarop de container luistert (bijvoorbeeld 80), maar let bijhost
altijd op mogelijke poortconflicten. - ServBay CA: Voor prettige HTTPS-ontwikkeling wordt het ten zeerste aanbevolen de ServBay Public CA te installeren, zodat browsers de lokaal gegenereerde certificaten vertrouwen en geen veiligheidswaarschuwingen tonen.
FAQ & Probleemoplossing
Q: Ik kan de toegevoegde website niet bereiken; de browser geeft een verbindingsfout of time-out?
A: Controleer het volgende:
- Website-status in ServBay: Controleer op de websitebeheerpagina of de status op "AAN" staat.
- Containerstatus in Docker: Gebruik
docker ps
in de terminal en controleer of de juiste container draait. - Docker-poortmapping: Bekijk met
docker ps
de poortmappings van je container (PORTS
kolom) en controleer of de hostpoort (zoals0.0.0.0:8080->80/tcp
of127.0.0.1:8080->80/tcp
) overeenkomt met de poort in ServBay. - Interne services in de container: Controleer dat de webserver (Nginx, Apache, Node-app, etc.) in de container luistert op de juiste poort, en dat er geen interne fouten zijn. Bekijk eventueel de logs met
docker logs <containerID of naam>
. - ServBay logs: Klik op het logboek-icoon bij je website in ServBay om toegangsfouten of proxyproblemen te zien.
- Hosts-bestand controleren: ServBay regelt dit normaal gesproken zelf, maar controleer
/etc/hosts
indien nodig handmatig om zeker te zijn dat je domein naar127.0.0.1
verwijst. - Firewall checken: Controleer of je firewall geen relevante poorten blokkeert, zowel voor ServBay (80/443) als voor Docker's hostpoort.
Q: Kan ik via ServBay zelf Docker-containers beheren?
A: ServBay richt zich hoofdzakelijk op lokaal webbeheer, databases en programmeeromgevingen en op routeren van verkeer naar back-endservices zoals Docker-containers. Het beheert geen volledige Docker container-lifecycle (zoals starten/stoppen/builden van images). Hiervoor blijf je aangewezen op de Docker CLI of Docker Desktop.
Q: Wat is de ServBay CA en waarom zou ik die installeren?
A: De ServBay CA (Certificate Authority) is een certificaatautoriteit die ServBay gebruikt voor lokaal SSL beheer. De ServBay User CA ondertekent SSL-certificaten voor je lokale websites, terwijl de ServBay Public CA de root CA is. Door deze root te installeren in je Keychain vertrouwt je besturingssysteem (en browser) automatisch alle door ServBay uitgegeven certificaten, waardoor je via HTTPS zonder veiligheidswaarschuwingen lokaal kunt ontwikkelen — essentieel voor het realistisch testen van productie-achtige omgevingen.
Samenvatting
Het toevoegen van een Docker-container website aan ServBay is een efficiënte en flexibele manier om je ontwikkelworkflow in te richten. ServBay fungeert als centraal knooppunt voor lokaal verkeer en domeinbeheer, terwijl Docker krachtige isolatie en management van je applicatieomgeving biedt. Dankzij eenvoudige reverse proxy-configuratie kun je moeiteloos allerlei Docker-projecten integreren met je ServBay-setup. Volg bovenstaande stappen en tips om probleemloos je Dockerized websites lokaal te draaien en beheren.