Ceci est une ancienne révision du document !
Conteneuriser
La conteneurisation consiste à rassembler le code du logiciel et tous ses composants (bibliothèques, frameworks et autres dépendances) de manière à les isoler dans leur propre « conteneur ».
Le logiciel ou l'application dans le conteneur peut ainsi être déplacé et exécuté de façon cohérente dans tous les environnements et sur toutes les infrastructures, indépendamment de leur système d'exploitation. Le conteneur fonctionne comme une sorte de bulle, ou comme un environnement de calcul qui enveloppe l'application et l'isole de son entourage. C'est en fait un environnement de calcul portable complet.
Avec les conteneurs, vous n'avez plus besoin de coder pour une plateforme ou un système d'exploitation en particulier, une méthode qui complique le déplacement des applications étant donné que le code n'est pas toujours compatible avec le nouvel environnement. De plus, ces transferts génèrent souvent des bogues, des erreurs et des problèmes qui font perdre du temps, diminuent la productivité et engendrent une grande frustration.
En plaçant une application dans un conteneur facile à déplacer entre les plateformes et infrastructures, vous pouvez l'utiliser n'importe où, car elle dispose de tout ce dont elle a besoin pour fonctionner.
Avantages
La « légèreté » ou portabilité des conteneurs découle de leur capacité à partager le noyau du système d'exploitation de la machine hôte. Ils n'ont pas besoin d'un système d'exploitation propre et les applications peuvent s'exécuter de la même manière sur toutes les infrastructures (systèmes bare metal, clouds et même machines virtuelles), comme nous le verrons dans la section suivante.
De même, avec les conteneurs les développeurs peuvent utiliser les mêmes outils dans plusieurs environnements hôtes, ce qui simplifie sensiblement le développement et le déploiement des applications conteneurisées sur différents systèmes d'exploitation.