Cette image peut vous aider à comprendre la différence principale entre elles:
Ce qu'ils ont tous en commun, c'est que toutes ces 3 technologies sont liées aux conteneurs.
Les conteneurs sont un mécanisme de virtualisation léger qui ne vous oblige pas à configurer une machine virtuelle sur une émulation de matériel physique. Sous Linux, ils ont en commun les fonctionnalités du noyau utilisées: cgroups
, namespaces(ipc, network, user, pid, mount)
. Ils tentent également de créer des environnements plus sûrs en créant des conteneurs sans privilèges et en s’intégrant aux fonctions de sécurité, telles que selinux
. Ces technologies exportent les API pour mieux s’intégrer aux autres logiciels.
Ces deux intègre la même famille où:
- lxc : interface utilisateur pour les fonctionnalités de confinement du noyau Linux. C'est le gars qui gère les espaces de noms du noyau, les profils Apparmor et SELinux, les Chroots, les capacités du noyau et tous les autres éléments liés au noyau.
- lxd : est un conteneur "hyperviseur". Il est composé d'un démon (lxd), de l'interface de ligne de commande (lxc) et d'un plugin OpenStack. Ce gars a été développé pour offrir plus de flexibilité et de fonctionnalités à LXC, tout en l’utilisant toujours sous le capot.
Fondamentalement, un espace utilisateur de système d’exploitation autonome est créé avec son infrastructure isolée. lxc est plus directement lié aux fonctionnalités du système d’exploitation pour le réseautage et le stockage que Docker.
Vous créez de nombreuses machines virtuelles comportant des isolations d'espace utilisateur et de noyau, mais ce ne sont pas des machines virtuelles complètes, car elles n'exécutent pas de noyaux séparés, elles ne sont pas non plus paravirtualisées pour la même raison.
Ici, Canonical est le principal sponsor et Oracle investit également des heures supplémentaires dans cette technologie.
Il a quelques différences, étant le plus gros d'entre eux, le moteur qui encapsule les applications avec un système de fichiers autonome au lieu d'une "image d'espace utilisateur" de base. L'idée est de contenir l'application et l'image de base pour donner l'impression que l'application est un processus unique dans le moteur. Docker a utilisé la technologie lxc comme sous-jacent pour communiquer avec le noyau, mais il utilise aujourd'hui sa propre bibliothèque, libcontainer .
Le système de fichiers est une abstraction de Docker, tandis que lxc utilise directement les fonctionnalités du système de fichiers. Le réseau est aussi une abstraction tandis qu'avec Lxc, vous pouvez configurer plus facilement les adresses IP et les configurations de routage. Certains sites de type "App Store" sont gérés par Microsoft, Amazon, VMware, IBM et d'autres lecteurs.
Docker. INC. Est le sponsor principal ici. VMware investit également dans cette technologie.
Technologie de conteneur associée:
Ce sont d'autres technologies de conteneur que Linux a: OpenVZ et Linux-VServer
Trucs connexes: