web-dev-qa-db-fra.com

Quelle est la différence entre Docker, LXD et LXC

Quelle est la différence entre Docker, LXD et LXC. Offrent-ils les mêmes services ou différents.

178
Ijaz Ahmad Khan

Non, LXC, Docker et LXD ne sont pas tout à fait les mêmes. En bref:

LXC

LinuX Containers (LXC) est une méthode de virtualisation au niveau du système d'exploitation pour exécuter plusieurs systèmes Linux isolés (conteneurs) sur un seul hôte de contrôle (hôte LXC)

https://wiki.archlinux.org/index.php/Linux_Containers

niveau faible ...

https://linuxcontainers.org/

Docker

  • par Docker, Inc
  • un système de conteneurs utilisant des conteneurs LXC
  • afin que vous puissiez: Build, Ship, and Run Any App, Anywherehttp://www.docker.com

LXD

Docker vs LXD

  • Docker est spécialisé dans le déploiement d'applications
  • LXD est spécialisé dans le déploiement de machines virtuelles (Linux)

Infographic of Docker vs LXD

Source: http://linux.softpedia.com/blog/infographic-lxd-machine-containers-from-ubuntu-linux-492602.shtml

À l'origine: https://insights.ubuntu.com/2015/09/23/infographic-lxd-machine-containers-from-ubuntu/

Note technique mineure

143
clarity123

Cette image peut vous aider à comprendre la principale différence entre eux:

lxc x docker

Ce qu'ils ont tous en commun, c'est que 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 essaient également de créer des environnements plus sûrs en créant des conteneurs non privilégiés et en intégrant des fonctionnalités de sécurité comme selinux. Ces technologies exportent des API pour mieux s'intégrer à d'autres logiciels.

LXD et LXC

Ces deux intègrent la même famille où:

  • lxc : interface espace 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 toutes les autres choses liées au noyau
  • lxd : est un "hyperviseur" de conteneur. 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 fournir plus de flexibilité et de fonctionnalités à lxc, alors qu'il l'utilise toujours sous le capot.

Fondamentalement, un espace utilisateur de système d'exploitation autonome est créé avec son infrastructure isolée. lxc sous-tend plus directement les fonctionnalités du système d'exploitation pour la mise en réseau et le stockage que Docker.

Vous créez de nombreuses machines virtuelles, qui ont des isolements 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, ni ne sont paravirtualisées pour la même raison.

Canonical est le principal sponsor ici, et Oracle investit également des heures de travail sur cette technologie.

Docker

Il a quelques différences, étant le plus grand d'entre eux, le moteur qui enveloppe les applications avec un système de fichiers autonome au lieu d'une "image de l'espace utilisateur" de base. L'idée est de contenir l'application et l'image de base pour créer l'impression que l'application est un processus unique à l'intérieur du moteur. Docker a utilisé la technologie lxc comme sous-jacent pour communiquer avec le noyau, mais aujourd'hui, il utilise 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 également une abstraction tandis qu'avec lxc, vous pouvez configurer des adresses IP et des configurations de routage plus facilement. Certains sites de type "App Store" sont gérés par Microsoft, Amazon, Vmware, IBM et d'autres acteurs.

Docker. INC. Est le principal sponsor ici. VMware est investit également dans cette technologie.

Technologie de conteneur associée:

Ce sont d'autres technologies de conteneur que Linux a: OpenVZ et Linux-VServer

Contenu connexe:

75
user34720