Outils pour utilisateurs

Outils du site


my_docker_webserver

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Prochaine révision
Révision précédente
my_docker_webserver [2020/04/26 07:00] – créée bigMaxmy_docker_webserver [2020/04/26 07:46] (Version actuelle) bigMax
Ligne 1: Ligne 1:
-====== Mon serveur web avec docker ======+<markdown> 
 + 
 +Mon serveur web avec docker 
 + 
 +Pour m'occuper pendant le confinement, je décide d'enfin avancer sur mes projets perso d’hébergement web de trucs qui servent plus ou moins. Je décide, selon ma philosophie, et mon envie de : 
 +1. Faciliter un déploiement rapide et partout 
 +1. Faire en sorte que cela soit réutilisable et évolutif 
 +1. Disposer d'un environnement de dev 
 +1. Coder et versionner tout cela 
 + 
 +## Démo 
 +Visitez [le site web mby.fr](https://mby.fr). 
 + 
 +## Le dépôt git 
 +[La forge git du projet](https://framagit.org/mxbossard/my-docker-webserver). 
 + 
 +## Principes de bases 
 +### Des services web isolés 
 +Je souhaite exposer sur le web des services isolés. Chaque service est isolé dans son conteneur. Avec la bonne configuration, docker-compose démarre "une grappe" de conteneur configurée pour discuter entre eux. Il inscrit également cette grappe auprès du service "nginx-proxy" ce qui rend la grappe de conteneur accessible via le protocole https sur le net (via letsencrypt). La plupart des éditeurs de logiciels fournissent leur solutions dans des images docker, ce qui rend l'intégration de nouveau service très rapide. 
 + 
 +### Procédure d'ajout d'un service web 
 +Voici la procédure à dérouler pour fournir un nouveau "service web" prêt à déployer :  
 +1. J'affecte un nouveau suous domaine au service web (ex: mumble pour mumble.mby.fr). 
 +1. Je m'arrange pour l'embarquer dans un ou plusieurs conteneurs docker (Soit je prend les images fournient par la communauté, soit je créé mes propres images). 
 +1. J'écris le fichier docker-compose.yml pour décrire et configurer le déploiement des conteneurs. J'y ajoute la config nginx-proxy. 
 +1. J'écris un script up.sh et down.sh pour démarrer et arrêter le service proprement (spécifique environnement, firewall, ...). 
 +1. Je test sur mon environnement de dev sur mon pc perso. 
 + 
 +## Mes choix 
 +* Utiliser docker-compose pour sa simplicité et rapidité de mise en œuvre. Je n'ai qu'à configurer les images fournies par la communauté, et boum le tour est joué. 
 +* Utiliser le firewall ufw pour protéger le serveur. Il set facile à prendre en main, même si son intégration avec docker ne coule pas de source. 
 +* Utiliser [le projet "nginx-proxy"](https://github.com/nginx-proxy/nginx-proxy) pour servir de Reverse Proxy à tous les conteneurs de mon serveur. 
 +* Utiliser Vagrant pour déployer rapidement mon serveur web docker sur mon environnement de dev (sur mon ordinateur perso). 
 +* Versionner le tout avec git. 
 + 
 +### docker-compose 
 + 
 +### ufw 
 + 
 +### Le projet nginx-proxy 
 + 
 +### Vagrant 
 + 
 +## Ressources 
 +* [Commencer avec docker](https://docs.docker.com/engine/
 +* [La documentation de référence docker, docker-cli, dockerfile, ...](https://docs.docker.com/engine/reference/run/
 +* [Commencer avec docker-compose](https://docs.docker.com/compose/
 +* [La documentation de référence docker-compose](https://docs.docker.com/compose/compose-file/
 +* [Le firewall ufw "Uncomplicated FireWall"](https://help.ubuntu.com/community/UFW) 
 +* [Une très bonne documentation d'iptables](https://www.booleanworld.com/depth-guide-iptables-linux-firewall/
 +* [Le projet "nginx-proxy"](https://github.com/nginx-proxy/nginx-proxy) 
 + 
 +</markdown> 
 + 
 + 
my_docker_webserver.1587884409.txt.gz · Dernière modification : 2020/04/26 07:00 de bigMax