Pages : 1
#1 Le 26/08/2015, à 13:49
- kyfr59
Dockeriser une application
Bonjour à tous,
Je dois "dockeriser" une application LAMP que je qualifierais de classique.
L'objectif est de faciliter les mises à jour de versions de l'applicatif (basé sur OMEKA). L'application doit être déployée une trentaine de fois.
J'ai récupérer le conteneur Mysql officiel pour y stocker les bases de données et j'arrive à y accéder depuis un autre conteneur. J'ai créé une image contenant Apache+PHP ainsi que mon applicatif (Omeka 2.3).
Le tout fonctionne à merveilles, si je veux déployer une nouvelle instance de mon appli : "docker run --name instance3 appli ...."
Cependant, je ne sais pas du tout comment m'y prendre pour faciliter les mises à jour, je m'explique :
Si demain Omeka sort une version 2.4 et que je suis obligé de MAJ toutes mes instances, comment faire ?
Si je MAJ mon image (contenant actuellement la 2.3) et je je refais un "docker run", je perds les fichiers déposés par les utilisateurs dans l'arborescence du conteneur, ainsi que mes fichiers de logs.
Une idée ?
Merci d'avance.
Franck.
Hors ligne
#2 Le 26/08/2015, à 15:12
- gregbs7
Re : Dockeriser une application
Bonjour,
As tu essayer de deporter la zone de stockage avec l'option -v ?
Regarde ce lien , il explique comment utiliser et monter un stockage externe au container.
A plus.
HP 650G1 - Ubuntu Gnome 17.04 - Core I5 - 8Go Ram - Intel® Haswell Mobile - SSD 256 Go Crucial.
Hors ligne
#3 Le 27/08/2015, à 11:14
- kyfr59
Re : Dockeriser une application
Salut,
Merci pour ta réponse, je comptais effectivement monter un volume à part pour partager le code de l'appli.
Mon souci se pose pour les fichiers propres aux conteneurs (donc à la trentaine d'instances déployées).
Imaginons par exemple un dossier /uploads propre à chaque conteneur, ou encore un fichier db.ini.
Comment puis mettre à jour l'applicatif partagé tout en conservant certains fichiers propres aux instances ?
J'hésite entre :
- Un script de mise à jour : je sauvegarde /uploads et db.ini, je MAJ l'applicatif partagé, je relance le conteneur, je remet /uploads et db.ini
- Utiliser des liens symboliques pour pour partager tout l'applicatif, sauf /upload et db.ini
- Découper les volumes (option -v) : 1 volume pour le code de l'appli, 1 volume pour /uploads, 1 volume pour db.ini
Un vrai casse-tête...
Hors ligne
Pages : 1