10.3    Qu’est-ce qu’un Conteneur, une Image de Conteneur, un Dockerfile ?

 

10.3.1    Le Conteneur

 

Encore appelé container, le conteneur est très proche des machines virtuelles. En réalité, il s’agit d’un ensemble de processus logiciels légers et indépendants, qui rassemble tous les fichiers que requiert l’exécution des processus : code, bibliothèque et paramètres, runtime, outils système… Les conteneurs peuvent être utilisés pour exécuter une ou plusieurs applications Linux ou Windows. L’avantage avec les conteneurs est qu’ils simplifient réellement la virtualisation. En effet, à la base, la virtualisation consiste en l’exécution de nombreux systèmes d’exploitation sur un seul et même système.

 

Les conteneurs utilisent le même noyau de système d’exploitation et procèdent aussi à l’isolement des processus de l’application du reste du système qu’ils se partagent entre eux. Ils sont donc plus efficaces en matière de consommation de ressources système. Ainsi, l’utilisateur a la possibilité d’exécuter environ 4 à 6 fois plus d’instances d’applications en se servant des conteneurs.

 

10.3.2    L’image de Conteneur

 

Les images du conteneur désignent un package composé de dépendances et d’informations indispensables pour créer un conteneur. Chaque image dispose de l’ensemble des dépendances (les frameworks par exemple) ainsi que des paramètres de configuration de déploiement et d’exécution à mettre en œuvre par un environnement d’exécution de conteneur. Dans la pratique, une image est dérivée de plusieurs images de base qui sont des couches superposées les unes sur les autres pour former le système de fichiers du container.

 

10.3.3    Le Dockerfile

 

Le dockerfile désigne le fichier texte qui contient les étapes à suivre pour créer une image Docker. Il se présente comme un script batch. La première ligne du texte précise l’image de base pour commencer. Ensuite, les instructions à respecter pour réussir l’installation des programmes requis, copier les fichiers et effectuer les autres opérations sont indiquées. Les instruments fournis par le dockerfile permettent d’obtenir l’environnement de travail dont l’utilisateur a besoin.