Docker

Docker Je ne découvre pas vraiment Docker mais je n’avais pas encore testé des architectures réelles.

Lancer une application desktop

Ce n’est pas la première utilisation qu’on a de Docker, mais c’est celle qui m’a d’abord intéressé. C’est en installant une nouvelle machine que j’ai été confronté à un problème classique de fichiers incompatibles entre les versions de logiciels.

En effet, j’utilise Homebank pour gérer mes comptes et la version disponible sur Debian n’est pas la dernière. C’est l’occasion de tester une technique qur j’ai lu dans un article de Jessie Frazelle.

Je lance donc maintenant mon application en version 5.0.0 tranquille :

xhost +
docker run -it --rm -v /tmp/.X11-unix:/tmp/.X11-unix -e DISPLAY=unix$DISPLAY --name homebank neolao/homebank:5.0.0

Voir : https://registry.hub.docker.com/u/neolao/homebank/

Faciliter l’environnement de développement

Lorsqu’on développe un site, il y a plusieurs métiers qui entrent en jeu. On fait souvent référence au back et au front. J’ai trop souvent vu le développeur front se battre avec sa configuration locale, même chose pour le développeur back.

Au final, on se retrouve de nos jours avec plein de choses à installer pour développer ou simplement pour lancer un site.

En back, on peut rajouter un moteur de recherche ou lancer un Redis. En front, on veut compiler du javascript ou du CSS, avoir un live reload ou traiter les images. Et je rajoute le fait qu’une équipe n’est pas exclusivement sur un même système d’exploitation.

Je commence à configurer des projets Symfony 2 avec Docker compose. C’est assez sympa à configurer. Je choisis précisément les versions pour coller avec la production.

J’ai des performances acceptables sur Mac parce qu’on passe par une machine virtuelle pour avoir Docker. Pour garder l’environnement de développement lourd de Symfony avec le debug et les logs, j’ai mis des fichiers dans un volume tmpfs. C’est plutôt efficace, je ferai un article quand j’aurai éprouvé la méthode.

Quand j’ai besoin d’un nouveau container, je le publie dans le Docker hub bien sûr !

Je suis en ce moment sur un php-fpm qui inclue le plus de modules possible : https://registry.hub.docker.com/u/neolao/php/

En production ?

Je ne vois pas encore l’intérêt d’utiliser Docker en production. On maitrise bien nos machines en ligne. Il y a déjà des solutions de scalabilité. Je sais qu’Amazon propose d’utiliser des Dockerfile pour décrire les application, pourquoi pas.

Si c’est safe et performant, ça peut être intéressant.

Pour des tests ?

Je réflechis à créer des stories de tests. Lorsqu’on veut prendre en compte un moteur de recherche et une base de données, il faut s’amuser à les initialiser. Lancer des services avec des versions différentes serait même facile, et ça ne pourrit pas la machine.

Commentaires