Pour donner plus de précision, l'appli en question est Odoo/OpenERP, et on est amené à personnaliser cette application très régulièrement, différemment d'un client à l'autre (besoins qui peuvent évoluer au cours du temps suivant les demandes, rien n'est jamais figé).
Mon ressenti c'est que Docker est très bien adapté pour faire des dizaines voir des milliers de livraisons identiques. En dehors de ce cas, c'est se compliquer la vie que d'adopter un tel outil comparé à une VM standard ou un conteneur OpenVZ/LXC, vu qu'il faut :
créer un(des) volume(s) à part pour stocker les fichiers de configuration ou le code source qui diffère d'un client à l'autre,
re-créer les images entièrement pour les mises à jour régulières (à ce propos, comment être averti des mises à jour à réaliser sur un conteneur par Nagios/NRPE par exemple ? Avec les volumes ça doit être jouable, mais ça ajoute de la complexité pour peu de valeur ajoutée à mon sens),
utiliser des outils tiers non-réutilisables en dehors de Docker pour une connexion directe au conteneur (nsenter ou le futur builtin).
Docker encourage le "mono-process", impliquant la mise en place de volumes communs si on veut que 2 conteneurs communiquent, et la livraison de conteneurs identiques à très grandes échelle. De l'autre côté LXC exécute un système complet (comportement par défaut), dans lequel se trouvent plusieurs process fonctionnant de manière cohérente. Si j'ai besoin d'installer un module Python pour générer des fichiers Excel, nul besoin de re-générer une image (un ajout à la conf Ansible et c'est bon, en plus d'être versionné pour garder l'historique).
Idem si je veux connecter un serveur Barman à un serveur PostgreSQL existant : SSH est déjà présent sur les deux pour la communication.
Loin de moi l'idée de critiquer Docker (vu son succès !), j'essaie juste de calquer mes besoins avec l'outil, mais ça renforce un peu mon opinion que Docker n'est peut-être tout simplement pas adapté comparé à d'autres solutions.
[^] # Re: Docker vs LXC
Posté par Seb . En réponse à la dépêche La folie Docker. Évalué à 5.
Merci pour ces éclaircissements !
Pour donner plus de précision, l'appli en question est Odoo/OpenERP, et on est amené à personnaliser cette application très régulièrement, différemment d'un client à l'autre (besoins qui peuvent évoluer au cours du temps suivant les demandes, rien n'est jamais figé).
Mon ressenti c'est que Docker est très bien adapté pour faire des dizaines voir des milliers de livraisons identiques. En dehors de ce cas, c'est se compliquer la vie que d'adopter un tel outil comparé à une VM standard ou un conteneur OpenVZ/LXC, vu qu'il faut :
Docker encourage le "mono-process", impliquant la mise en place de volumes communs si on veut que 2 conteneurs communiquent, et la livraison de conteneurs identiques à très grandes échelle. De l'autre côté LXC exécute un système complet (comportement par défaut), dans lequel se trouvent plusieurs process fonctionnant de manière cohérente. Si j'ai besoin d'installer un module Python pour générer des fichiers Excel, nul besoin de re-générer une image (un ajout à la conf Ansible et c'est bon, en plus d'être versionné pour garder l'historique).
Idem si je veux connecter un serveur Barman à un serveur PostgreSQL existant : SSH est déjà présent sur les deux pour la communication.
Loin de moi l'idée de critiquer Docker (vu son succès !), j'essaie juste de calquer mes besoins avec l'outil, mais ça renforce un peu mon opinion que Docker n'est peut-être tout simplement pas adapté comparé à d'autres solutions.