Ajouter et configurer un site web basé sur un conteneur Docker dans ServBay
ServBay est un environnement de développement web local compatible avec macOS et Windows, supportant différents langages et stacks techniques. Outre l’exécution directe des paquets logiciels intégrés (comme PHP, Node.js, Python, Go, Java, bases de données, etc.) pour héberger des sites web, ServBay vous permet aussi d’utiliser des conteneurs Docker pour lancer et gérer vos sites ou services. Cette approche vous offre une grande flexibilité, une isolation stricte et une cohérence de l’environnement, particulièrement adaptée aux projets nécessitant des dépendances spécifiques.
Ce guide détaille la procédure pour ajouter un site web tournant dans un conteneur Docker, intégré à votre flux de développement local grâce à la fonction de proxy inverse de ServBay.
Vue d’ensemble
En configurant ServBay en proxy inverse, vous pouvez rediriger les requêtes associées à un nom de domaine spécifique vers le port d’un service tournant à l’intérieur d’un conteneur Docker. ServBay se charge du trafic entrant (certificats HTTPS, résolution DNS, etc.), tandis que Docker héberge l’application. Cette architecture combine la facilité de gestion offerte par ServBay et la puissance de la conteneurisation Docker.
Les étapes ci-dessous vous guideront tout au long du processus d’ajout et de configuration d’un site web basé sur Docker dans ServBay.
Prérequis
Avant de commencer, assurez-vous que vous remplissez les conditions suivantes :
- ServBay installé et en fonctionnement : ServBay est installé et lancé sur votre macOS.
- Docker installé et en fonctionnement : Docker Desktop ou une autre solution Docker est installée et le service Docker est opérationnel.
- Image et conteneur Docker prêts : Vous avez construit ou téléchargé une image Docker contenant votre site ou application, et pouvez lancer un conteneur à partir de cette image.
Étapes détaillées pour ajouter un site
Étape 1 : Préparer et lancer le conteneur Docker
Tout d’abord, votre conteneur Docker doit être en fonctionnement. Le service (par exemple, le serveur web) doit écouter sur un port qui est exposé sur la machine hôte (votre macOS) grâce à la fonctionnalité de mappage de port de Docker.
Par exemple, avec un conteneur Nginx simple écoutant en interne sur le port 80, lancez la commande suivante pour mapper le port 8080 de la machine hôte sur le port 80 du conteneur :
bash
docker run -d --name my-nginx-servbay -p 8080:80 nginx
1
Dans cet exemple, Nginx dans le conteneur my-nginx-servbay
écoute sur le port 80
, mais grâce à l’option -p 8080:80
, le port 80
est accessible depuis le port 8080
de la machine hôte. ServBay devra alors se connecter sur le port 8080
de votre macOS.
Adaptez cette configuration selon les besoins de votre projet et le contenu du Dockerfile : assurez-vous que le service interne écoute sur le bon port, et mappez-le sur un port disponible de la machine hôte.
Étape 2 : Ouvrir l’interface d’administration ServBay
Dans le dossier Applications de votre macOS, localisez l’icône ServBay et double-cliquez pour lancer l’interface d’administration.
Étape 3 : Accéder à la page de gestion des sites web
Une fois ServBay ouvert, vous verrez l’interface principale. Dans le menu de navigation à gauche, cliquez sur l’option Sites
. Vous accéderez ainsi à la page de gestion des sites locaux, où vous pouvez consulter et configurer l’ensemble de vos sites ajoutés.
Illustration : Cliquez sur "Sites" dans la barre latérale pour accéder à la gestion des sites.
Étape 4 : Ajouter un nouveau site
En bas de la page de gestion des sites, repérez le bouton +
. Cliquez dessus : ServBay affichera alors un formulaire sur la droite pour renseigner la configuration du nouveau site.
Illustration : Cliquez sur le bouton “+” en bas de page pour ajouter un site.
Étape 5 : Configurer les paramètres du site
Dans le formulaire de configuration du site, renseignez les informations essentielles suivantes :
- Nom (Name) : Donnez un nom facilement identifiable à votre site, par exemple
Docker Nginx Demo
. Ce nom sert uniquement au suivi interne dans ServBay. - Domaine (Domain) : Indiquez le domaine local par lequel vous voulez accéder au site Docker depuis le navigateur. Il est conseillé d’utiliser l’extension
.servbay.demo
(ex. :docker.servbay.demo
) pour éviter les conflits avec des domaines publics. ServBay configurera automatiquement le fichier hosts de votre système pour pointer ce domaine vers127.0.0.1
. - Protocole (Protocol) : Sélectionnez le protocole pris en charge. Par défaut,
HTTP/HTTPS
convient. ServBay surveille alors les ports HTTP (80) et HTTPS (443), selon votre configuration SSL. - Méthode de requête de certificat SSL (SSL Certificate Request Method) : Il est recommandé de choisir
ServBay CA
. ServBay générera et gèrera automatiquement un certificat SSL local signé par l’autorité ServBay User CA. En installant la ServBay Public CA dans votre trousseau système, votre navigateur fera confiance à ces certificats pour un développement HTTPS local sans avertissement de sécurité. Si besoin, vous pouvez choisirACME
(ex. : Let’s Encrypt) ouCustom
(votre propre certificat). - Type de site (Website Type) : [Important] Choisissez
Proxy inverse (Reverse Proxy)
. ServBay agira comme point d’entrée du domaine et redirigera les requêtes vers l’adresse de service backend définie. - Adresse IP (IP Address) : Saisissez l’adresse IP sur laquelle le service du conteneur Docker écoute sur la machine hôte. Le plus souvent en local, il s’agit de
127.0.0.1
. - Port : Indiquez le port exposé sur la machine hôte par votre conteneur Docker ; il correspond au
<port hôte>
spécifié dans la commandedocker run -p <port hôte>:<port conteneur>
. Par exemple, avec-p 8080:80
, inscrivez8080
.
Illustration : Formulaire de configuration d’un site Docker en proxy inverse.
Étape 6 : Finaliser et enregistrer la configuration
Une fois tous les champs nécessaires remplis, cliquez sur le bouton Ajouter (Add)
au bas du formulaire.
ServBay traitera votre demande, ajoutera automatiquement les règles proxy dans le serveur web concerné (Caddy ou Nginx), et mettra à jour le fichier hosts de votre système pour pointer le domaine local choisi.
Après sauvegarde, ServBay pourra effectuer une courte opération de rechargement de la configuration. Vous pourrez alors tenter d’accéder au domaine nouvellement ajouté.
Étape 7 : Accéder au site et utiliser les raccourcis pratiques
Une fois la configuration sauvegardée, retournez sur la page de gestion des sites web. Votre nouveau site devrait y apparaître et afficher le statut “En cours d’exécution”.
Vous pouvez maintenant ouvrir le domaine configuré dans votre navigateur (par exemple, http://docker.servbay.demo
ou https://docker.servbay.demo
). Si la configuration est correcte, ServBay redirigera votre requête vers le service du conteneur Docker et affichera le contenu web proposé par ce dernier.
Dans la liste des sites, ServBay propose plusieurs raccourcis utiles :
- Ouvrir le dossier racine dans un IDE : (Pour les sites en proxy inverse, ce bouton peut ne pas être disponible ou pointer vers le dossier de configuration ServBay, selon le mode de configuration et la version).
- Ouvrir le site dans le navigateur : Lance rapidement l’URL du site dans un nouvel onglet.
- Voir les logs du site : Accédez aux logs d’accès et d’erreurs générés par ServBay, très utiles pour le dépannage.
- Suspendre ou activer le proxy du site : Désactivez ou activez temporairement la configuration proxy inverse ServBay pour le site.
- Supprimer le site : Retirez la configuration du site de ServBay.
Illustration : Boutons de raccourcis proposés pour chaque site dans la liste ServBay.
Conseils et bonnes pratiques
- État du conteneur Docker : Veillez à ce que le conteneur concerné soit toujours actif, sinon ServBay ne pourra pas rediriger les requêtes.
- Mappage des ports : Vérifiez bien la correspondance entre la configuration du port Docker (
-p
) et le port renseigné dans ServBay. Assurez-vous également que ce port n’est pas utilisé par un autre programme sur la machine hôte. - Pare-feu : Vérifiez la configuration du pare-feu macOS : assurez-vous que les ports utilisés par ServBay (80, 443 par défaut) et ceux exposés par Docker ne sont pas bloqués.
- Mode réseau de Docker : La plupart du temps, le mode
bridge
avec mappage de port via l’option-p
est le plus simple. Avec le modehost
, ServBay peut accéder directement au service interne du conteneur (utilisez alors le port que le conteneur écoute), mais attention aux éventuels conflits de port. - ServBay CA : Pour le confort sur HTTPS, installez impérativement la ServBay Public CA. Cela permettra à votre navigateur de faire confiance aux certificats locaux générés par ServBay pour éviter les alertes de sécurité.
FAQ (Foire aux questions) et dépannage
Q : Après l’ajout du site, je ne parviens pas à y accéder ? Le navigateur affiche une erreur de connexion ou de délai d’attente ?
R : Procédez à ces contrôles :
- Vérifier l’état du site dans ServBay : Sur la page de gestion, assurez-vous que le site s’affiche comme “En cours d’exécution”.
- Vérifier l’état du conteneur Docker : Sur le terminal, lancez
docker ps
et contrôlez que le conteneur cible tourne. - Vérifier le mappage de port Docker : Avec
docker ps
, consultez la colonnePORTS
pour confirmer que le port hôte (ex. :0.0.0.0:8080->80/tcp
ou127.0.0.1:8080->80/tcp
– donc8080
) correspond bien au port configuré dans ServBay. - Vérifier le service interne du conteneur : Contrôlez que le service web (Nginx, Apache, Node.js, etc.) fonctionne et écoute sur le bon port ; consultez les logs du conteneur avec
docker logs <ID ou nom du conteneur>
. - Vérifier les logs de ServBay : Dans la liste des sites, cliquez sur l’icône des logs pour consulter les accès ou erreurs qui pourraient indiquer un problème de redirection.
- Vérifier le fichier hosts système : ServBay gère cela automatiquement, mais vérifiez que
/etc/hosts
pointer bien votre domaine vers127.0.0.1
. - Vérifier le pare-feu : Assurez-vous que le pare-feu ne bloque pas l’accès aux ports utilisés par ServBay ou le conteneur Docker.
Q : Puis-je gérer directement la vie des conteneurs Docker via ServBay ?
R : ServBay gère l’administration des services web locaux, bases de données, langages et le routage du trafic vers les services backend (y compris Docker). En revanche, il n’offre pas la gestion complète du cycle de vie des conteneurs Docker (démarrage, arrêt, création d’image, etc.) : pour cela, utilisez les outils CLI Docker ou l’interface Docker Desktop.
Q : Qu’est-ce que ServBay CA ? Pourquoi dois-je l’installer ?
R : ServBay CA (Certificate Authority) est le mécanisme de gestion de certificats SSL local proposé par ServBay pour faciliter le développement HTTPS. ServBay User CA émet les certificats SSL des sites locaux, et ServBay Public CA est le certificat racine de confiance. En installant la ServBay Public CA dans le trousseau de votre système, navigateur et OS accepteront tous les certificats émis localement pour éviter les avertissements “connexion non sécurisée”. C’est indispensable pour simuler un vrai accès HTTPS en environnement de développement.
Conclusion
Ajouter un site web hébergé dans un conteneur Docker à ServBay est une solution flexible et puissante : ServBay sert de hub local pour la gestion du trafic et des domaines, tandis que Docker permet d’isoler et d’exécuter des environnements applicatifs adaptés. Quelques réglages de proxy inverse suffisent pour intégrer sans effort des projets Dockerisés dans votre workflow ServBay. En suivant les consignes de ce guide et en respectant les bonnes pratiques, vous pourrez rapidement mettre en place et exploiter votre site local dans Docker via ServBay.