TECH NEWS

Les 3 ans de Docker, racontés par Agile Partner

Pour son troisième anniversaire, Docker Inc. avait prévu environ 40 évènements dans le monde pour potentiellement un millier de participants. Cette prévision a été largement dépassée puisque 120 évènements rassemblant environ 8000 personnes ont eu lieu sur les 5 continents. Un joli succès ! Mais qu’avons nous appris ?

April 5, 2016

dockerPour son troisième anniversaire, Docker Inc. avait prévu environ 40 évènements dans le monde pour potentiellement un millier de participants. Cette prévision a été largement dépassée puisque 120 évènements rassemblant environ 8000 personnes ont eu lieu sur les 5 continents. Un joli succès ! Mais qu’avons nous appris ?

Analyse par Yves Komguep – Senior .Net Consultant at AgilePartner S.A

Docker Birthday Meetup à Luxembourg en bref

Au Luxembourg, l’évènement a été repris par le Meetup Docker Luxembourg et a eu lieu le 23 mars chez SFEIR à Leudelange. Après l’accueil des participants par les organisateurs, une présentation relatant le parcours effectué par Docker et son écosystème depuis 2013 a permis de faire plusieurs constats :

  • Le projet évolue rapidement.
  • Il devient mature.
  • La sécurité a été grandement améliorée que ce soit au niveau des composants internes qu’au niveau des différentes interactions avec d’autres acteurs.
  • L’engouement généré dans sa communauté va bien au-delà de l’open source.

Pour moi, l’intérêt de participer à un tel évènement me donnait la possibilité d’en savoir un peu plus sur une technologie que je découvrais à peine sur un projet en interne. J’étais un débutant, un vrai et avoir une introduction à la technologie avec d’autres débutants, au sein de la communauté docker locale et en présence d’experts, quoi de plus motivant ?

Mes attentes tournaient autour de plusieurs questions : « Qu’est-ce que Docker exactement ? Que peut-on en faire ? Et moi développeur, .Net sous Windows, que puis-je en tirer ? Est-ce ‘simple’ ? » En gros, quelle est la plus-value aujourd’hui de regarder de près cette technologie ?

Tout d’abord, nous avons dû récupérer un tutoriel sur Github qui nous indiquait les différentes phases de la formation :

  • La première partie était une initiation à la terminologie ‘Docker’ : images, container, Docker daemon, Docker compose, Docker swarm,
  • La deuxième partie nous a permis de déployer une application web statique récupérée de Github avec Docker et donc de découvrir l’utilisation de la commande docker run. J’ai bien aimé l’aspect concret de l’apprentissage. Le résultat était là et on associait directement le fait de récupérer et exécuter une image à la commande Docker run
  • La troisième partie devait nous permettre de créer nos propres images Docker à partir d’un fichier Dockerfile. Ce document n’est rien d’autre qu’un fichier texte qui contient des commandes à exécuter et qui permet d’automatiser la création. Venant du monde Windows, je me suis mis à penser aux fichiers batch, PowerShell… et donc, l’apprentissage était plus facile.

Enfin, le workshop proposé via l’application « birthday » consistait à créer et customiser une application de votes. Le but ici était de nous permettre d’utiliser plusieurs containers, de suivre le workflow complet de la création au déploiement d’une image sur le Docker Hub et le processus de soumission d’une application.

Untitled

Avant de commencer, il fallait préparer sa machine. Pour information, j’ai utilisé ma station Windows 10 avec pour seul outil tiers installé cygwin. Cette précision est importante car nativement, Docker n’a pas été conçu pour tourner sur les stations Windows. Vous verrez qu’en réalité, d’importants progrès ont été faits depuis.

La première tâche à réaliser consistait à installer la Docker toolbox pour Windows. Elle contient tout ce qui est nécessaire pour commencer à travailler avec Docker sous Windows. Ensuite, il fallait créer une machine virtuelle avec la commande docker machine pour pouvoir exécuter des containers Docker. Enfin, récupérer des images avec docker pull.

Après la préparation de la machine, le workshop proprement dit a débuté. Les différentes étapes à suivre étant renseignées dans le tutoriel susmentionné et l’étape finale consistant à la soumission de sa solution sur dockerise.it.

Le tutoriel indiquait la tâche à exécuter et donnait des explications sur les commandes utilisées et le but à atteindre pour chacune des opérations. De mon côté, pour un néophyte, je n’ai pas rencontré de difficulté particulière si ce n’est qu’il fallait bien se positionner dans le bon répertoire avant de lancer la commande à exécuter, en particulier docker build.

Le problème avec ce genre de tutoriel, c’est que tout est un peu prémâché : il est possible de réussir l’épreuve et ne rien avoir retenu des opérations effectuées. On peut suivre minutieusement chaque étape sans pour autant la positionner dans l’architecture Docker. L’idéal serait de présenter pour chaque étape, la problématique et de donner des indices pour la réaliser : ce qui pousserait l’apprenant à fouiller un peu la documentation et donc à retenir plus facilement ce qu’il fait. Je sais, ceci n’est possible que dans le meilleur des mondes et avec uniquement trois heures de formation, c’est un peu juste ; mais pour moi, c’est une ‘bonne’ méthode d’apprentissage.

Après quelques heures à lire, essayer de comprendre et surtout taper frénétiquement des commandes dans mon ‘Git Bash’, j’ai réussi l’exercice et j’ai pu soumettre mon application. Grâce à mon ‘SubmissionID’, j’ai pu apparaitre sur la carte présente sur dockerise.it : youpi !

Untitled0

On vous le dit!

A la fin de cette formation, ma satisfaction est grande : j’ai pu faire des choses que je n’avais pas encore faites avec Docker (rappelez-vous : je débutais à peine), j’ai pu entrevoir son énorme potentiel et ses capacités actuelles et j’ai décidé de suivre de près ce qui se passera pour Docker côté Windows et Docker généralement. La seconde chose que je note, c’est que muni d’une machine Windows, je n’ai eu aucune difficulté technique à réaliser les exercices et ça c’est super : ça augure de bonnes choses pour le futur. Tiens parlant de futur, la version Bêta de Docker pour Windows a été déployée ;-).

Pour les futures formations Docker, je souhaiterai qu’il y ait un petit travail de réflexion à demander aux participants pour forcer un peu l’apprentissage car quand on cherche un peu, on retient mieux. Sinon, dans l’ensemble, tout était très bien : merci à toute l’équipe Docker du Luxembourg et à tous les mentors pour leurs conseils. Ce fut une belle journée, une de celles où on se couche l’esprit riche et la curiosité assouvie.

Au fait, saviez-vous qu’Agile Partner est maintenant Docker Member? N’hésitez pas à nous contacter pour vos projets!

Watch video

In the same category