Bonjour à tous,
J'ai entendu parlé de Docker il y a déjà plusieurs années et sans savoir ce que c'était dans le détail je me suis dit que sa avait l'air sympathique et que peut-être un jour il serai intéressant que je mette mon nez dedans.
Récemment pour un besoin précis la solution idéale aurai été d'avoir deux systèmes distinct pour éviter tout conflits entre différentes applications, de base je me suis dit que je devrai avoir des machines virtuelles (évitons de payer deux machines physique si une à largement la puissance pour faire les deux ) puis je me suis rappelé l’existence de Docker.
J'ai donc parcouru la toile et ce que j'ai retenu de Docker c'était que cela permettait d'isoler totalement les applications en étant super léger par rapport à une machine virtuelle complète, bref finalement ce que je recherche.
Je me suis monter une machine virtuelle linux son mon poste de travail pour commencer à appréhender le monde de Docker, sauf que je suis face à un obstacle.
Lorsque je lis les tutoriaux sur le net (en tout cas ceux en français, parce-que l'anglais et moi on est pas spécialement copain) on trouve des exemples mais ils parlent tous de un et un seul site (je cherche à mettre en place un serveur nginx + php + mysql), hors dans mon cas j'ai plusieurs sites.
Au départ je me suis dit, il suffit d'installer mysql dans un container, php dans un autre, nginx dans un autre et enfin chaque site dans un container indépendant et dans nginx je fais les liens avec les container "site".
Le problème avec cette solution c'est que quand je créée ou change la configuration d'un site je dois à la fois joué avec le container du site et le container nginx, bon sa à la limite pourquoi pas.
Puis en lisant d'autre tutoriel je me suis rendu compte que le point de vue utilisé était en fait le point de vue de l'application (du site), chaque site lance son nginx, son mysql, son php, enfin bref ses dépendances et du coup si un site à des dépendances particulière, le simple fait de copier le docker-compose garanti qu'une application donnée tournera toujours dans les mêmes conditions.
Si sa à l'air très séduisant ainsi, se pose la question de la consommation des ressources d'une telle structure… si on a 10 sites qui utilise la même version de nginx et de php sa n'empêche pas qu'on à 10 container de nginx et de php qui tourne.
Par ailleurs, par de la l'aspect http, vient se greffer la gestion du ftp et des mails. Si pour le http on peu placer un container nginx qui écoute le port 80 de la machine physique et qui redirige dans le bon container, suis pas sur que c'est possible pour le ftp et les mails.
Bref… je suis perplexe sur la façon de structurer les containers docker dans l'objectif d'avoir plusieurs sites web indépendant sur le même serveur.
Quel serai la bonne méthode à adopter celons vous ?
Merci d'avance pour votre aide.
Cordialement, La source.