Docker en 2 minutes

Les bases de docker en 2 minutes !

DONNE MOI LE RÉSUMÉ

Si je vous dis conteneur, il y’a de grande chance que vous me rĂ©pondiez : docker, l’outil le plus utilisĂ© en entreprise.

Docker est un outil parmi tant d’autres de conteneurisation, dĂ©veloppĂ© avec le langage GO et publiĂ© en 2013 et aujourd’hui leader du marchĂ© avec plus de 50 millions de dollars gĂ©nĂ©rĂ© chaque annĂ©e.

Ok, mais pourquoi on a besoin de docker ?

Lorsque des devs Ă©crivent du code, UN moment est plus redoutĂ© que tous les autres : le dĂ©ploiement. Le code Ă©crit sur une machine ne fonctionne pas toujours sur une autre, et c’est le bordel.

Comment faire ? Il suffit simplement de dĂ©ployer sur la machine du dĂ©veloppeur nan ? Évidemment pas physiquement dessus, mais plutĂŽt trouver un moyen de dupliquer son PC. En gros, on veut “virtualiser” l’ordinateur du dev, pour le dupliquer partout sur n’importe quelle machine.

Lorsque l’on parle virtualisation, deux choix s’offrent à nous : construire des VM, lourdes qui dupliquent l’OS, avec son kernel ou des conteneurs, qui se base eux directement sur l’OS de leur machine hîtes, tels des parasites.

Pour créer un conteneur, il nous faut une image et pour créer une image, il nous faut un Dockerfile.

Un Dockerfile est comme le script d’une scĂšne de film. On y dĂ©finit les acteurs, les costumes, les dĂ©corations, etc.

L’image, elle, est construite Ă  partir du Dockerfile. À partir du script, on place les acteurs et les Ă©lĂ©ments dans le dĂ©cor. Tout est prĂȘt pour ĂȘtre jouĂ©.

Le conteneur est alors la scĂšne jouĂ©e Ă  un moment donnĂ© que l’on peut rĂ©pliquer Ă  l’infinie.

Pour créer une image docker, il nous faut créer un fichier Dockerfile.

Les images sont extensibles et nous pouvons nous baser sur des images développées par des leaders du marché.

Chaque image dans un Dockerfile est crĂ©Ă© par le mot FROM suivit du nom de l’image que l’on veut Ă©tendre ou de scratch pour crĂ©er une image nu.

On peut exĂ©cuter des commandes avec le mot clef RUN et copier des fichiers depuis l’ordinateur local sur l’image avec la commande COPY

Chaque fichier docker finit gĂ©nĂ©ralement par une commande que l’on veut lancer par dĂ©faut au lancement du conteneur. On dĂ©finit l’exĂ©cutable avec ENTRYPOINT et les paramĂštres avec CMD.

Pour construire l’image à partir du dockerfile, on utilise la commande docker build . .

Pour lancer le conteneur à partir de l’image, on utilise la commande docker run IMAGE.