DOCKER - 5 7 Solution Exercice Bind Mounts
Cette leçon vous montre concrètement comment utiliser les bind mounts avec Jekyll. Vous naviguez d'abord dans le répertoire contenant vos fichiers Markdown (les sources de votre site). Le répertoire contient déjà une structure Jekyll typique : fichiers posts, layout, etc. Jekyll ne crée pas tous ces fichiers à partir de zéro, il les génère en HTML à partir des sources.
Vous exécutez : docker run -v $(pwd):/site -p 4000:4000 jekyll/jekyll. Le conteneur démarre, compile les sources Markdown en HTML, et lance un serveur web. Les logs montrent que le serveur est prêt. Vous ouvrez localhost:4000 dans votre navigateur et vous voyez votre site généré. Ensuite, vous ouvrez votre éditeur et modifiez un titre de post. Immédiatement, les logs détectent le changement et Jekyll recompile. Un simple refresh du navigateur montre la nouvelle version.
C'est la puissance du bind mount : vos fichiers sur l'hôte sont instantanément visibles et modifiables, le conteneur détecte les changements et réagit sans avoir à relancer la commande. Pas besoin d'installer Ruby, Jekyll ou ses 50+ dépendances : Docker gère tout. Votre environnement de développement est complètement isolé, reproductible et gratuit.
En résumé
Cette leçon présente la solution pratique d'un exercice sur les bind mounts Docker. L'instructeur démontre comment exécuter Jekyll (générateur de site statique) dans un conteneur en mappant les fichiers source de l'hôte sans installer Jekyll localement. Le point clé est que les modifications apportées aux fichiers sources sur l'hôte sont immédiatement détectées et reflétées dans le conteneur, montrant la puissance du bind mount pour la synchronisation de code.
Points clés
- Les bind mounts permettent de mapper des répertoires et fichiers de la machine hôte directement dans le conteneur Docker
- Avantage principal : pas besoin d'installer les dépendances localement (Ruby, Jekyll, etc.) - le conteneur fournit tout l'environnement nécessaire
- Les modifications de fichiers source sur l'hôte sont détectées en temps réel par le serveur Jekyll qui redémarre automatiquement
- Jekyll est un générateur de site statique très utile pour créer des sites hébergés sur GitHub Pages (hébergement gratuit)
- Accès au site via localhost dans le navigateur une fois le serveur lancé dans le conteneur
Questions fréquentes
Comment le conteneur détecte-t-il les modifications de fichiers sur la machine hôte ?
Grâce au bind mount, le conteneur a un accès direct et synchronisé aux fichiers de l'hôte. Quand vous modifiez un fichier source, Jekyll détecte automatiquement la modification et redémarre son serveur avec le code mis à jour.
Quel est l'intérêt d'utiliser Docker avec Jekyll plutôt que d'installer Jekyll localement ?
L'installation locale de Jekyll nécessite d'installer Ruby et plusieurs outils spécifiques. Avec Docker et un bind mount, vous évitez complètement ces installations locales - le conteneur fournit déjà tout l'environnement nécessaire et fonctionnel.
C'est quoi Jekyll et pourquoi est-ce utile ?
Jekyll est un générateur de site statique, particulièrement apprécié pour créer des sites web hébergés gratuitement sur GitHub Pages. Il transforme des fichiers sources en sites web prêts à la publication.