Un conteneur (ou container en anglais) correspond à un espace dédié à l’exécution d’un logiciel et donc à sa virtualisation. Il permet de tester le logiciel et de remonter tous les dysfonctionnements, problèmes de stabilité ou encore les failles de sécurité dans un environnement totalement isolé.
Plusieurs formes de conteneurs existent :
- sous forme de données abstraites
- d’une structure d’informations
- d’une classe.
Contrairement au VM (virtual machine), le conteneur n’a pas besoin de communiquer avec le système d’exploitation complet du device sur lequel vous êtes pour obtenir une virtualisation. Cependant, si vous voulez partager votre projet à votre collègue, il faut que celui-ci utilise le même OS que vous (un conteneur sur Mac OS ne fonctionnera pas sous Windows). Logique, me diriez-vous.
Il faut noter que pour fonctionner, il a besoin :
- d’un système d’exploitation (souvent celui de la solution, par exemple pour Docker, il s’agit d’un conteneur Linux)
- du code de l’application qu’on souhaite tester
- de bibliothèques compatibles
- des ressources systèmes.