Comment développer une LAMPE application web en utilisant le Panneau, de Marionnettes et de Vagabond?

Dans les âges sombres, mon jeu habituel en place pour le développement de LAMPE d'applications web était de tester en local sur ma machine. PHP (dans mon cas), la base de données et le serveur web étaient tous installés en natif.

Le serveur a été configuré avec le standard de l'installation de Apache et MySQL, et j'ai eu plusieurs hôtes virtuels pour les différentes parties de l'application web. Lorsque j'ai été heureux avec les résultats que j'ai eu sur ma machine locale, je serais connecter au serveur et git pull dans la mise en scène de l'environnement. En supposant que tout fonctionnait aussi bien sur le serveur que sur ma machine, je ferais la même chose pour la production.

De nouveaux commencements...

Donc je commence une marque nouvelle application web à partir de zéro, et je veux le faire "le bon chemin". J'ai lu sur Docker, l'Errance et de la Marionnette (et Chef, même si personnellement je préfère la Marionnette du système de dépendances plutôt que du Chef, le processus itératif). Malgré toutes les recherches que j'ai faites, il y a toujours semblent être plusieurs questions que je n'arrive pas à trouver de réponses pour:

Devrait-il être séparé des conteneurs Docker pour le serveur web (comme Apache), serveur de base de données (comme MySQL) et chaque partie de l'application web?

Quand je parle de pièces de l'application web, je veux dire des choses comme mysite.com, controlpanel.mysite.com, etc. Ces "pièces" partagent la même base de données.

Depuis le Panneau semble prêt-à-conteneurs pour des choses comme le web et les serveurs de base de données, il semble que ces choses au moins doivent être dans des contenants séparés. Devrait les différentes pièces de mon application web être dans des contenants distincts, trop?

Conteneurs Docker semblent être conçues pour être remplacées plutôt que d'avoir à me mettre à jour le logiciel à l'intérieur. Ce sur les données qu'ils écrire que je ne veux pas perdre?

Le serveur de base de données gère les fichiers liés au contenu de ma base de données (que je vais m'en veux de sauvegarde). Le serveur web va être la création de journaux, et mes applications web de gestion des différents fichiers et les caches, etc. Tous ces fichiers doivent être écrites en dehors de l'application des conteneurs (parce que je pourrais les remplacer lors de la mise à jour?), alors, où vont-ils? Directement dans les machines hôtes du système de fichiers? Ou dans un autre "Docker Volume"? Si elles vont dans le Panneau volumes, dois-je utiliser un volume distinct de la base de données, serveur web, application, etc? Puis-je encore accéder facilement le contenu en utilisant SFTP de ma machine locale comme je le fais maintenant? Je ne veux pas perdre toutes les commodité ici!

Est-ce une bonne idée d'utiliser des Marionnettes pour créer et gérer les conteneurs Docker, à la fois pour le développement du serveur et du serveur de production?

Il semble Marionnette a en charge la gestion de conteneurs Docker directement, si cela semble être une bonne façon de facilement mettre en place un serveur ou l'environnement de production (utilisation de Vagrant) à partir de zéro.

J'espère que je vous ai posé quelques questions pertinentes; il serait grand bien des "meilleures pratiques" pour le développement et la production de LAMPE-comme les applications web, il est juste là ne semble pas être bien que j'ai trouvé!!!

InformationsquelleAutor Robert | 2014-10-01