Qual è la differenza tra Docker, LXD e LXC [chiuso]


164

Qual è la differenza tra Docker, LXD e LXC. Offrono gli stessi servizi o diversi.


1
Ho trovato questo utile. informazioni più recenti e migliori. people.canonical.com/~kirkland/…
Ijaz Ahmad Khan

Un'ottima spiegazione su infoworld.com/article/3204171/linux/… . Ha detto che Although Docker started out as an open source project to build specialized LXC, it later morphed into its own container runtime environmentpiù sul link
Alireza Fattahi

Risposte:


133

No, LXC, Docker e LXD non sono esattamente gli stessi. In breve:

LXC

LinuX Containers (LXC) è un metodo di virtualizzazione a livello di sistema operativo per l'esecuzione di più sistemi Linux isolati (container) su un singolo host di controllo (host LXC)

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

basso livello ...

https://linuxcontainers.org/

docker

  • di Docker, Inc
  • un sistema di container che utilizza contenitori LXC
  • così puoi: Build, Ship, and Run Any App, Anywhere http://www.docker.com

LXD

Docker vs LXD

  • Docker è specializzato nella distribuzione di app
  • LXD è specializzato nella distribuzione di macchine virtuali (Linux)

Infografica di Docker vs LXD

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

Originariamente: https://insights.ubuntu.com/2015/09/23/infographic-lxd-machine-containers-from-ubuntu/

Nota tecnica secondaria



12
Docker non usa LXC sotto il cofano dal 2014: blog.docker.com/2014/03/…
infomaniac

68

Questa immagine può aiutarti a capire la differenza principale tra loro:

finestra mobile lxc x

Ciò che tutti hanno in comune è che tutte e 3 queste tecnologie sono correlate ai container.

I contenitori sono un meccanismo di virtualizzazione leggero che non richiede di configurare una macchina virtuale su un'emulazione di hardware fisico. In Linux, ciò che hanno in comune sono le funzionalità del kernel utilizzate: cgroups, namespaces(ipc, network, user, pid, mount). Tentano anche di creare ambienti più sicuri creando contenitori senza privilegi e integrandosi con funzionalità di sicurezza come selinux. Queste tecnologie esportano API per una migliore integrazione con altri software.

LXD e LXC

Questi due integrano la stessa famiglia dove:

  • lxc : interfaccia userspace per le funzionalità di contenimento del kernel Linux. Questo è il tipo che gestisce gli spazi dei nomi del kernel, i profili di Apparmor e SELinux, i chroot, le capacità del kernel e ogni altra cosa relativa al kernel
  • lxd : è un contenitore "hypervisor". È composto da un demone (lxd), l'interfaccia della riga di comando (lxc) e un plugin OpenStack. Questo ragazzo è stato sviluppato per fornire maggiore flessibilità e funzionalità a lxc, mentre lo utilizza ancora sotto il cofano.

Fondamentalmente, uno spazio utente del sistema operativo autonomo viene creato con la sua infrastruttura isolata. lxc è alla base di più direttamente sulle funzionalità del sistema operativo per il networking e lo storage rispetto a Docker.

Si creano molte macchine virtuali, che hanno isolamenti del kernel e dello spazio utente, ma non sono macchine virtuali complete poiché non eseguono kernel separati, né sono paravirtualizzate per lo stesso motivo.

Canonical è lo sponsor principale qui e Oracle sta anche investendo ore uomo su questa tecnologia.

docker

Ha alcune differenze, essendo il più grande di loro il motore che racchiude le applicazioni con un filesystem autonomo anziché una "immagine dello spazio utente" di base. L'idea è quella di contenere l'app e l'immagine di base per creare l'impressione che l'app sia un singolo processo all'interno del motore. Docker utilizzava la tecnologia lxc come sottostante per comunicare con il kernel, ma oggi utilizza una propria libreria, libcontainer .

Il filesystem è un'astrazione per Docker, mentre lxc utilizza direttamente le funzionalità del filesystem. La rete è anche un'astrazione mentre con lxc è possibile impostare gli indirizzi IP e le configurazioni di routing più facilmente. Alcuni siti "come App Store" sono gestiti da Microsoft, Amazon, Vmware, IBM e altri giocatori.

Docker. INC. È lo sponsor principale qui. Anche Vmware sta investendo in questa tecnologia.

Tecnologia container correlata:

Queste sono altre tecnologie container che Linux ha: OpenVZ e Linux-VServer

Cose correlate:



Si. Questo è abbastanza nuovo poiché coinvolge tutto ciò che zfs su Ubuntu wada-wada. E questa è una PRESENTAZIONE. Siate sempre attenti a PDF o PPT in cui esistono mondi come "migliore di quello" o "tecnologia più veloce" o "più scalabile di Y" ...

5
Sono diventato piuttosto scettico nei confronti dei prodotti usciti da Canonical. Tendono a pubblicizzarli come potrebbero essere invece che come sono. Spesso quando quel "potrebbe essere" è ancora lontano anni.
orodbhen,

Invece di usare lxc in minuscolo, questo dovrebbe essere un riferimento a liblxc. E per quanto riguarda gli strumenti, può quindi fare riferimento da 1.x a 3.x dove lxd (solo il demone) è disponibile solo per liblxc> = 2.0 ed lxcè il programma client LXD che è il successore del lxc-*nome Strumenti LXC 1.x.
0xC0000022L
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.