container

Une définition du Jargon Français.
Aller à : Navigation, rechercher

1. Dr enus.png nom masculin.  [conteneur]  [type de fichier]. Processus bien isolé du reste de la machine, y compris des autres processus. Cela vise à obtenir le gros des avantages d'une machine virtuelle (isolation, grâce à laquelle les machines virtuelles animées par une même mulet ne peuvent se « marcher sur les pieds »), ainsi que définition stricte des ressources mises à disposition de chacune. Le tout sans certains des inconvénients d'une machine virtuelle (charge pour la machine).

En résumé c'est une sorte de machine virtuelle crée par un tandem (servant d'hyperviseur) formé d'un noyau et d'un logiciel spécialisé relativement simple (tel que Docker).

Un seul noyau peut gérer plusieurs containers, chacun offrant un userspace complet distinct confiné dans une sorte de jail.

C'est surtout utile pour déployer un ensemble travaillant à la volée (donc ne conservant rien, stateless),

Par extension « container » désigne aussi une archive, souvent une tarball, décrivant un container ou stockant son état (sens 3). Cela explique le nom « container », également justifié par le souci d'isolation. Cela désigne aussi un processus associé à un container.

Détail

La virtualisation classique repose sur la simulation d'une machine physique complète pour chaque machine virtuelle active. Un container ne simule pas ainsi et se contente d'isoler, de sorte que son travail de gestion d'un userland est moins exigeant en ressources (processeur et mémoire centrale) que ce qu'implique un hyperviseur classique, donc toutes choses égales par ailleurs une machine virtuelle qu'il anime est plus rapide. Par ailleurs le paramétrage de la répartition des ressources du mulet entre des containers est plus facile.

Le concept relève de la paravirtualisation.

Sur un même mulet tous les containers emploient toutefois le même noyau, donc ne peuvent fonctionner sous des systèmes d'exploitation différents ou même seulement sous diverses versions du noyau, et bien entendu ne peuvent pas efficacement émuler donc n'animent que des exécutables destinés la plate-forme (sens 1) du mulet.

Par ailleurs une attaque réussie contre le noyau menace tous ses containers.

Sous Linux tout cela repose sur les namespaces (sens 2), chroot et les cgroups.chacun lié à une ressource (système de fichiers,et définissant ce que le container en perçoit.

Le terme container est lourd de sens car évoque la révolution opérée IRL dans le secteur du transport par les containers (la grosse boîte métallique contenant de la marchandise, aux dimensions normalisée, que l'on peut facilement charger sur bateau, train ou camion). Un container informatique contient tout ce dont au moins un logiciel donné a besoin pour fonctionner, et l'isole des autres. Cela facilite considérablement le déploiement d'un service, tout comme un conteneur IRL facilite l'expédition de marchandise et interdit aux objets d'un client (placés dans son container) d'endommager les (ou de se mêler aux) objets de l'autre (protégés par un autre container). Cela débouche sur une vision à la sauce « the network is the computer » (le réseau est l'ordinateur), par lequel en pratique le cloud devient le mainframe auquel n'importe qui peut à tout moment confier un container. La confidentialité semble négligée. L'activité correspondante (mise en containers) est la containerisation.

La version française (rarement employée) est conteneur (sens2).

Synonyme: CT, « Virtual Environment » (VE), « Virtual Private Server » (VPS), « guest », « zone ».


2. Dr enus.png nom masculin.  [programmation]. En programmation orientée objet cela désigne tout type de structure hébergeant des données d'un ou plusieurs types, qui peuvent elles-mêmes être des containers.

Des types de containers bien connus, qui sont abstraits, sont le Set (ensemble), la List (ensemble ordonné), la Map (tableau associatif), le Vector (tableau à une dimension) et leurs sous-types. Selon le langage de programmation, Array et String (chaîne de caractères) peuvent ou non être des containers.

Synonyme collection.


3. Dr enus.png nom masculin.  [widget]. Widget contenant un ou plusieurs autres widgets dont il optimise l'apparence de sorte qu'elle respecte leurs paramètres tout en étant aussi compacte (peu de surface d'écran occupée) que possible.