PROJET AUTOBLOG


Planet-Libre

source: Planet-Libre

⇐ retour index

La bande des Geexxx : Naviguez tranquille avec Docker

dimanche 15 juin 2014 à 20:54

Depuis quelques mois je vois régulièrement passer des articles parlant de Docker. Au début, je ne comprenais pas trop ce que c’était et je me disais que si c’était si cool que ça, j’en entendrais parler encore. Puis je revois passer, j’ai des besoins, je me renseigne, je DuckDuckGooglise… Bref, ça a l’air cool. Je vais donc essayer de faire un article assez court histoire de vous faire rapidement comprendre pourquoi Docker c’est de la balle.

Pour la petite histoire, j’ai décidé de m’y mettre après que Manjaro m’ait cassé mon environnement de développement pour FreshRSS (le paquet Apache qui passe à une version supérieure et PHP qui ne fonctionne plus). Comme je ne voulais pas me refaire avoir, j’ai décidé de mettre en place un environnement de développement plus stable. Après avoir cherché des solutions basées sur VirtualBox ou Vagrant, trop lourds pour moi, je me suis penché sur Docker.

L’idée de Docker c’est de séparer des applications dans des environnements séparés et de permettre de les faire communiquer entre elles. En gros, ce sont des machines virtuelles très légères qui se lancent en quelques secondes (voire moins !).

Prenons un cas concret. Je développe aujourd’hui beaucoup sur ma machine personnelle. Pour ça j’ai besoin d’Apache configuré avec PHP et d’une base MySQL/MariaDB. Problèmes :

Casse-tête et chiant. Heureusement, Docker me permet de me faciliter la vie. J’ai donc créé un fichier (un Dockerfile, un peu l’équivalent d’un Makefile mais pour les machines Docker) qui me paramètre automatiquement une machine virtuelle avec tout l’environnement qui va bien. Je n’ai alors plus qu’à lancer celle-ci en lui précisant de monter le répertoire de FreshRSS au bon endroit dans la VM et en 2 secondes (le temps de lancer Apache et Mysql) tout est fonctionnel et prêt à l’emploi ; je peux bosser. Ce que ça m’apporte par rapport aux points précédents :

Ça c’est un cas de figure – le mien – mais il y en a bien d’autres. On peut imaginer déployer des applications à la volée selon les besoins, distribuer un programme, l’utiliser dans une suite de tests, etc.

Je me rends compte que je ne me suis pas trop penché sur Docker lui-même dans cet article alors qu’il a pleins d’atouts :

Le petit schéma qui compare machines virtuelles et conteneurs :

docker_containers_vmsNotez que ça repose sur une techno récente du noyau Linux : LXC. Noyau trop vieux, pas de Docker !

Si vous voulez prolonger la lecture je vous conseille :

Et un petit bonus de fin : j’ai eu des soucis au début pour lancer mes conteneurs. J’ai compris ensuite qu’il fallait les droits root donc passer par sudo. Il y a plus simple : une fois Docker installé, ajoutez votre utilisateur au groupe Docker (quelque chose du genre # usermod -aG docker mon_user).

Gravatar de La bande des Geexxx
Original post of La bande des Geexxx.Votez pour ce billet sur Planet Libre.

Articles similaires