Docker

Docker emballe un programme et tout ce dont il a besoin dans un paquet fermé, pour qu'il tourne pareil sur le portable du développeur et sur le serveur en production.

Également appelé conteneurs conteneurisation plateforme de conteneurs

Définition

Docker emballe un programme avec tout ce dont il a besoin pour tourner. Le code, les réglages et les petits outils qui travaillent en dessous vont donc dans un seul paquet fermé, appelé conteneur. Vous construisez ce paquet une fois, et il se comporte ensuite de la même manière sur le portable du développeur, sur le serveur de test et sur le serveur en production.

Avant les conteneurs, « ça marche chez moi » était la phrase la plus chère de l'informatique. Un programme tournait bien chez celui qui l'avait écrit et cassait ensuite sur le serveur, parce qu'une petite pièce en dessous n'avait pas la même version. Le conteneur met fin à la discussion en emportant ses propres copies, et il ne reste alors rien sur le serveur pour le contredire.

Un conteneur n'est pas un petit ordinateur, car il emprunte le système de la machine qui l'héberge. C'est pour cela qu'il démarre en une seconde là où une machine virtuelle complète met une minute. Un serveur ordinaire peut donc porter beaucoup de conteneurs côte à côte, chacun isolé des autres. Cette séparation sert vraiment, car si une partie du système est attaquée, l'intrus n'obtient pas le reste au passage.

Deux choses surprennent, et la première est qu'un conteneur oublie. Quand il redémarre, il revient exactement tel qu'il a été construit, donc tout ce qui a été écrit dedans, factures déposées ou photos de clients, disparaît. Les fichiers et les bases de données doivent donc être gardés dehors volontairement. La seconde, c'est l'âge, puisque chaque conteneur repose sur une image de base écrite par quelqu'un d'autre et qu'une image téléchargée il y a un an porte tous les trous découverts depuis. Reconstruire sur une base fraîche fait partie du travail normal de sécurité d'un système, ce n'est pas un supplément. Linkysoft refait donc ces images à date fixe sur les systèmes qu'elle suit, parce que personne ne pense à le faire à la main.

Le vrai gain, c'est la liberté de bouger, car le conteneur emporte son monde avec lui et changer d'hébergeur devient une décision plutôt qu'un chantier. Linkysoft construit chaque application web ainsi, si bien que la version testée est exactement celle qui part en production et non une reconstruction. Un client peut donc démarrer sur un petit serveur chez Hostrena et passer à plus grand sans toucher au code. Posez une seule question à votre prestataire avant de signer : quand le conteneur est jeté et remplacé, où vivent nos données ? Si la réponse reste floue, c'est déjà une réponse.

Questions sur Docker

Docker, est-ce la même chose qu'une machine virtuelle ?
Non. Une machine virtuelle porte tout un système d'exploitation à elle et met environ une minute à démarrer. Un conteneur emprunte le système en dessous et démarre en une seconde, donc beaucoup tiennent sur un serveur.
Est-ce que je perds mes données quand un conteneur redémarre ?
Vous perdez tout ce qui a été enregistré dedans, car il revient exactement tel qu'il a été construit. Les fichiers, les dépôts et les bases de données doivent être stockés dehors, et quelqu'un doit le prévoir.
Docker rend-il mon système plus sûr ?
En partie. Chaque conteneur est isolé, donc une intrusion reste souvent au même endroit. Mais un conteneur bâti sur une vieille image de base porte de vieux trous, il faut donc le reconstruire régulièrement sur une base fraîche.
Une petite entreprise a-t-elle besoin de Docker ?
Vous n'achetez pas Docker : ce sont les personnes qui construisent votre système qui l'utilisent. Cela vous concerne pour deux raisons. Les mises en production deviennent répétables, et vous pourrez changer d'hébergeur plus tard sans payer une réécriture.

Vous ne voyez toujours pas comment cela s'applique à votre projet ?

Dites-nous ce que vous construisez et nous vous répondrons simplement.