Pour comprendre la technologie docker, nous allons partir de la notion de machine virtuelle (VM). Cela consiste à simuler par un composant logiciel sur une machine physique, un ordinateur virtuel auquel on alloue une partie des ressources de la machine physique (mémoire, CPU). Pour mieux comprendre, partons d’une machine dotée par exemple de 400 Go de disques et 256 Go de mémoire : nous pouvons créer 4 VMs indépendantes avec chacune 100 Go de stockage et 64 Go de RAM. Ces VMs peuvent être totalement différentes les unes des autres. On peut en avoir une sous le système Windows, une autre sous le système Linux ou BSD.

Le grand intérêt des VMs réside dans la souplesse et l’optimisation de l’utilisation des ressources matérielles. L’organisation en VMs rend plus facile la réaffectation, le changement du dimensionnement et améliore le taux d’utilisation des dispositifs physiques (disque, mémoire, réseau, etc.).

Les VMs présentent aussi l’inconvénient d’être assez gourmandes en ressources, puisqu’à chaque fois, il faut faire tourner un système d’exploitation complet, avec tout ce que cela implique (utilisation de la mémoire, processeur).

Docker propose une solution beaucoup plus légère, basée sur la capacité du système Linux, à créer des espaces isolés auxquels on affecte une partie des ressources de la machine-hôte. Ces espaces (ou containers) partitionnent en quelque sorte le système-hôte en sous-systèmes étanches, au sein desquels le nommage (des processus, des utilisateurs, des ports réseaux) est purement local. On peut par exemple faire tourner un processus apache sur le port 80 dans le conteneur A, un autre processus apache sur le port 80 dans le conteneur B, sans conflit ni confusion. Tous les nommages sont en quelque sorte interprétés par rapport à un container donné (notion d’espace de nom).

Les conteneurs Linux sont beaucoup plus légers en consommation de ressources que les VMs, puisqu’ils s’exécutent au sein d’un unique système d’exploitation. Docker exploite cette spécificité du système Linux pour proposer un mode de virtualisation plus léger et flexible.

 

Nous verrons dans les prochains articles la notion de conteneur de manière plus approfondie et comment utiliser/construire son propre conteneur.

A propos de l'auteur

Samuel DESSEAUX

Samuel DESSEAUX

Admin systèmes, un tantinet « geek » et « pédagogue » (association subtile 🙂 ).
« Quand tu ne sais pas, tu demandes mais quand tu sais, tu partages » : un bon leitmotiv pour moi pour écrire des articles sur des sujets qui me tiennent à cœur comme les systèmes, le devops, le monitoring.

Voir tous les articles

En poursuivant votre navigation, vous acceptez le dépôt et l’utilisation de cookies de fonctionnement du site, de statistiques de visites et de partage pour les réseaux sociaux. A tout moment, vous pouvez modifier vos réglages en cliquant sur Préférences cookies en pied de page du site.

J’accepte

Paramétrez vos cookies

Afin de vous assurer une navigation optimale nous utilisons plusieurs types de cookies. Ci-dessous vous pouvez choisir de les désactiver. Ces modifications sont valables uniquement sur l’équipement et le navigateur actuellement utilisé.

Fonctionnement

Autoriser le dépôt et la lecture de cookies de fonctionnement pour me permettre de profiter de l’ergonomie du site, du choix de la langue et de la sécurité de navigation.

Statistique

Autoriser le dépôt et la lecture de cookies de statistiques pour permettre à AntemetA de suivre la fréquentation du site et améliorer la qualité du service.

Réseaux Sociaux

Autoriser le dépôt et la lecture de cookies de réseaux sociaux pour me permettre de partager des contenus sur LinkedIn, Facebook, Twitter, Google + et YouTube.