Intérêt de Docker

Bonjour,

J’utilise depuis quelques temps déjà Yunohost sur un petit serveur hébergé chez moi. Mon problème est que je souhaite installer sur cette machines d’autres applications qui pourraient ne pas être “compatibles” avec Yunohost.

Mon idée est donc de cloisonner tout ça. J’ai d’abord pensé à faire des machines virtuelles mais j’ai peur que ça soit trop gourmand en ressources. Je me pose la question d’utiliser Docker pour cloisonner mes applications et services. Je ne connais pour l’instant rien à Docker mais ça a l’air très intéressant.

Ma question est donc : est-ce que je fais le bon choix d’utiliser Docker ou est-ce que dans mon cas, il serait préférable de faire des machines virtuelles classiques. Est-ce que Docker est adapté à un environnement de “production” ? Ou est-ce que l’image Docker de Yunohost est plutôt faite pour des tests / développements ?

De plus, je suis preneur de retours d’expériences de personnes faisant tourner Yunohost sous Docker.

Merci pour vos réponses.

Moi j’ai déjà cloisonné avec LXC à l’époque où je ne connaissais pas encore bien docker et que tout n’était pas encore parfait et dispo sur les distrib de bases.
Ça marchait très bien (docker était basé sur lxc à l’époque, et au final, ils utilisent tous les 2 la même techno), sauf que j’ai des problèmes pour migrer d’un système à l’autre parce que lxc n’avait pas encore d’outil d’export pratique.
Bref, aujourd’hui, je viens de migrer d’une debian 7 à ubuntu 14.04 à coup de rsync, tar avec préservations de permissions, et je me suis retrouvé à devoir refaire les permissions dans /var/lib notamment pour mysql, openldap et bind.

J’ai perdu pas mal de temps, et j’aimerais tout passer sur docker, mais pour le moment, je ne sais pas quoi sauvegarder pour ne rien perdre. (la fois dernière que j’ai migré, j’avais perdu ma roster de metronome. Je ne sais toujours pas où ça la stocke. Sachant que j’avais backupé /var/lib…)

Donc je suivrai ce topic avec intérêt car j’ai les même besoins, mais d’après moi, docker est suffisament ok pour de la prod. Et justement, le but de passer sur ubuntu 14.04, c’est que maintenant, j’ai lxc et docker qui fonctionnent ensemble. À terme, j’aurai tout sur docker, mais j’ai pas le temps de migrer mes données de lxc vers un docker car je ne sais pas exactement tout ce que je dois migrer…

Salut,

En fait, j’ai commencé à faire des tests sur une VM avant de réinstaller ma machine de prod avec une Debian propre et d’y migrer mon conteneur Yunohost.

J’ai bien réussi à créer un conteneur Yunohost, mais je n’arrive pas à terminer la post install. Il y a un problème avec le service ldap (slapd) qui ne démarre pas, apparemment un problème de consommation mémoire connu avec ldap sous Docker. J’ai lancé un sujet en anglais sur ce problème (voir Postinstall fails with Docker). Pour l’instant je n’ai aucune piste pour réussir à faire tourner Yunohost dans un conteneur Docker correctement.

Je posterai mes avancées ici dès que j’ai une piste.

Chez moi, le conteneur marche, mais il est juste pas à jour.

Le vrai problème de Docker à mon avis, c’est qu’il n’est compatible qu’avec Ubuntu. LXC doit faire le taff sur debian, et je trouve LXC mon complexe que Docker, mais aussi moins complet (en terme d’exports de conteneurs par exemple).

Je ne vois pas en quoi il est n’est pas compatible debian ?
En tout cas c’est vrai que docker à sa propre manière de fonctionner qui est différente d’une VM. Et que du coup ça nécessite un temps d’apprentissage du système, meme si c’est assez intuitif.

Salut, je tenais juste à repartager les apps que j’ai créé si ça peut intéresser du monde (à installer sur YunoHost non dockerisé, j’ai pas encore capté comment faire pour du Docker dans un conteneur) : Docker containers and management in YunoHost!

https://github.com/scith/docker_container_ynh : permet de lancer des conteneurs et de les administrer comme des services depuis l’interface web YunoHost … (expérimental : fonction de backup/restore avec la moulinette, montage de repertoires)

https://github.com/scith/dockerui_ynh : DockerUI pour gérer ses conteneurs/images

https://github.com/scith/redirect_ynh : pour créer des applications YunoHost qui redirigent vers les ports de conteneur (par exemple /app redirige vers -p 127.0.0.1:9000:80)

:smile: