Uma explicação muito boa em infoworld.com/article/3204171/linux/… . Ele mencionou que Although Docker started out as an open source project to build specialized LXC, it later morphed into its own container runtime environmentmais no link
Alireza Fattahi
Respostas:
133
Não, LXC, Docker e LXD não são exatamente iguais. Em resumo:
LXC
O LinuX Containers (LXC) é um método de virtualização em nível de sistema operacional para executar vários sistemas Linux isolados (contêineres) em um único host de controle (host LXC)
Esta imagem pode ajudá-lo a entender a principal diferença entre eles:
O que todos eles têm em comum é que todas essas três tecnologias estão relacionadas a contêineres.
Os contêineres são um mecanismo de virtualização leve que não exige que você configure uma máquina virtual em uma emulação de hardware físico. No Linux, o que eles têm em comum são os recursos do Kernel usados: cgroups, namespaces(ipc, network, user, pid, mount). Eles também tentam criar ambientes mais seguros, criando contêineres sem privilégios e integrando recursos de segurança como selinux. Essas tecnologias exportam APIs para se integrar melhor a outros softwares.
lxc : interface de espaço de usuário para os recursos de contenção do kernel do Linux. Este é o cara que gerencia os namespaces do Kernel, os perfis Apparmor e SELinux, Chroots, recursos do Kernel e todos os outros itens relacionados ao kernel
lxd : é um "hypervisor" de contêiner. É composto por um daemon (lxd), a interface da linha de comandos (lxc) e um plug-in do OpenStack. Esse cara foi desenvolvido para fornecer mais flexibilidade e recursos ao lxc, enquanto ele ainda o usa oculto.
Basicamente, um espaço de usuário de sistema operacional independente é criado com sua infraestrutura isolada. O lxc é subjacente mais diretamente aos recursos do sistema operacional para rede e armazenamento do que o Docker.
Você cria muitas máquinas virtuais, que possuem isolamentos no espaço do usuário e no kernel, mas não são máquinas virtuais completas, pois não executam kernels separados, nem são paravirtualizadas pelo mesmo motivo.
A Canonical é o principal patrocinador aqui, e a Oracle também está investindo horas de trabalho nessa tecnologia.
Existem algumas diferenças, sendo a maior delas o mecanismo que agrupa os aplicativos com um sistema de arquivos independente, em vez de uma "imagem de espaço do usuário" base. A idéia é conter o aplicativo e a imagem base para criar a impressão de que o aplicativo é um processo único dentro do mecanismo. O Docker usou a tecnologia lxc como base para se comunicar com o kernel, mas hoje ele usa sua própria biblioteca, o libcontainer .
O sistema de arquivos é uma abstração para o Docker, enquanto o lxc usa os recursos do sistema de arquivos diretamente. A rede também é uma abstração, enquanto com o lxc você pode configurar endereços IP e configurações de roteamento mais facilmente. Alguns sites "semelhantes à App Store" estão sendo mantidos pela Microsoft, Amazon, Vmware, IBM e outros players.
Docker. INC. É o principal patrocinador aqui. A VMware também está investindo nessa tecnologia.
Tecnologia de contêineres relacionados:
Estas são outras tecnologias de contêiner que o Linux possui: OpenVZ e Linux-VServer
Sim. Isso é bastante novo, pois envolve todo o zfs no Ubuntu wada-wada. E isso é uma APRESENTAÇÃO. Allways estar alerta para PDFs ou PPTs onde existem mundos como "melhor do que isso" ou "tecnologia de mais rápido" ou "mais escaláveis do que Y" ...
5
Tornei-me bastante cético em relação aos produtos que saem da Canonical. Eles tendem a publicitá-los como o que podem ser e não como o que são. Muitas vezes, quando esse "pode ser" ainda está a anos de distância.
orodbhen
Em vez de usar lxc em minúsculas, isso deve ser uma referência ao liblxc. E no que diz respeito ao ferramental, ele pode se referir a 1.x a 3.x, em que lxd (apenas o daemon) está disponível apenas para liblxc> = 2.0 e lxcé o programa cliente LXD que é o sucessor do lxc-*nomeado Ferramentas do LXC 1.x.
Although Docker started out as an open source project to build specialized LXC, it later morphed into its own container runtime environment
mais no linkRespostas:
Não, LXC, Docker e LXD não são exatamente iguais. Em resumo:
LXC
https://wiki.archlinux.org/index.php/Linux_Containers
https://linuxcontainers.org/
Docker
Build, Ship, and Run Any App, Anywhere
http://www.docker.comLXD
run LXD on Ubuntu and spin up instances of RHEL, CentOS, SUSE, Debian, Ubuntu and just about any other Linux too, instantly, ...
http://www.zdnet.com/article/ubuntu-lxd-not-a-docker-replacement-a-docker-enhancement/Docker vs LXD
Fonte: http://linux.softpedia.com/blog/infographic-lxd-machine-containers-from-ubuntu-linux-492602.shtml
Originalmente: https://insights.ubuntu.com/2015/09/23/infographic-lxd-machine-containers-from-ubuntu/
Nota técnica secundária
lxc
http://blog.scottlowe.org/2015/05/06/quick-intro-lxd/fonte
Esta imagem pode ajudá-lo a entender a principal diferença entre eles:
O que todos eles têm em comum é que todas essas três tecnologias estão relacionadas a contêineres.
Os contêineres são um mecanismo de virtualização leve que não exige que você configure uma máquina virtual em uma emulação de hardware físico. No Linux, o que eles têm em comum são os recursos do Kernel usados:
cgroups
,namespaces(ipc, network, user, pid, mount)
. Eles também tentam criar ambientes mais seguros, criando contêineres sem privilégios e integrando recursos de segurança comoselinux
. Essas tecnologias exportam APIs para se integrar melhor a outros softwares.LXD e LXC
Esses dois integram a mesma família em que:
Basicamente, um espaço de usuário de sistema operacional independente é criado com sua infraestrutura isolada. O lxc é subjacente mais diretamente aos recursos do sistema operacional para rede e armazenamento do que o Docker.
Você cria muitas máquinas virtuais, que possuem isolamentos no espaço do usuário e no kernel, mas não são máquinas virtuais completas, pois não executam kernels separados, nem são paravirtualizadas pelo mesmo motivo.
A Canonical é o principal patrocinador aqui, e a Oracle também está investindo horas de trabalho nessa tecnologia.
Docker
Existem algumas diferenças, sendo a maior delas o mecanismo que agrupa os aplicativos com um sistema de arquivos independente, em vez de uma "imagem de espaço do usuário" base. A idéia é conter o aplicativo e a imagem base para criar a impressão de que o aplicativo é um processo único dentro do mecanismo. O Docker usou a tecnologia lxc como base para se comunicar com o kernel, mas hoje ele usa sua própria biblioteca, o libcontainer .
O sistema de arquivos é uma abstração para o Docker, enquanto o lxc usa os recursos do sistema de arquivos diretamente. A rede também é uma abstração, enquanto com o lxc você pode configurar endereços IP e configurações de roteamento mais facilmente. Alguns sites "semelhantes à App Store" estão sendo mantidos pela Microsoft, Amazon, Vmware, IBM e outros players.
Docker. INC. É o principal patrocinador aqui. A VMware também está investindo nessa tecnologia.
Tecnologia de contêineres relacionados:
Estas são outras tecnologias de contêiner que o Linux possui: OpenVZ e Linux-VServer
Coisas relacionadas:
fonte
lxc
é o programa cliente LXD que é o sucessor dolxc-*
nomeado Ferramentas do LXC 1.x.