Qual é a diferença entre Docker, LXD e LXC [closed]

133

Qual é a diferença entre Docker, LXD e LXC? Eles oferecem os mesmos serviços ou diferentes.

    
por Ijaz Ahmad Khan 12.01.2016 / 22:12

2 respostas

111

Não, o LXC, o Docker e o LXD não são exatamente iguais. Resumindo:

LXC

LinuX Containers (LXC) is an operating system-level virtualization method for running multiple isolated Linux systems (containers) on a single control host (LXC host)

link

low level ...

link

Docker

  • da Docker, Inc
  • um sistema de contêineres que utiliza contêineres LXC
  • para que você possa: Build, Ship, and Run Any App, Anywhere link

LXD

Docker vs LXD

  • O Docker é especializado em implantar aplicativos
  • A LXD é especializada na implantação de máquinas virtuais (Linux)

Fonte: link

Originalmente: link

Nota técnica menor

  • A instalação do LXD inclui um programa de linha de comando chamado coincidentemente de lxc link
por 13.01.2016 / 01:05
53

Esta imagem pode ajudar você a entender a principal diferença entre eles:

Oquetodoselestêmemcomuméquetodasessastrêstecnologiasestãorelacionadasacontêineres.

Oscontêineressãoummecanismodevirtualizaçãolevequenãoexigeaconfiguraçãodeumamáquinavirtualemumaemulaçãodehardwarefísico.NoLinux,oqueelestêmemcomumsãoosrecursosdoKernelusados:cgroups,namespaces(ipc,network,user,pid,mount).Elestambémtentamcriarambientesmaisseguroscriandocontêineressemprivilégioseintegrando-searecursosdesegurançacomoselinux.EssastecnologiasexportamAPIsparamelhorintegraçãocomoutrossoftwares.

LXD e LXC

Esses dois integram a mesma família , onde:

  • lxc : interface do userspace para os recursos de contenção do kernel do Linux. Este é o cara que gerencia namespaces do Kernel, perfis do Apparmor e do SELinux, Chroots, recursos do Kernel e todas as outras coisas relacionadas ao kernel
  • lxd : é um "hypervisor" de contêiner. Ele é composto por um daemon (lxd), pela interface da linha de comandos (lxc) e por um plug-in do OpenStack. Esse cara foi desenvolvido para fornecer mais flexibilidade e recursos para o lxc, enquanto ainda o usa sob o capô.

Basicamente, um espaço de usuário autossuficiente do SO é 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 têm isolamentos de espaço de usuário e de kernel, mas não são máquinas virtuais completas, pois não estão executando kernels separados, nem são paravirtualizados pelo mesmo motivo.

A Canonical é o principal patrocinador aqui, e a Oracle também está investindo horas de trabalho com essa tecnologia.

Docker

Tem algumas diferenças, sendo o maior deles o Engine que envolve os aplicativos com um sistema de arquivos independente, em vez de uma base "imagem do espaço do usuário". A ideia é 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, libcontainer .

O sistema de arquivos é uma abstração para o Docker, enquanto o lxc usa recursos do sistema de arquivos diretamente. Rede também é uma abstração, enquanto com lxc você pode configurar endereços IP e configurações de roteamento com mais facilidade. Alguns sites "App Store like" estão sendo mantidos pela Microsoft, Amazon, VMware, IBM e outros players.

Docker. INC é o principal patrocinador aqui. O Vmware está também investindo nessa tecnologia.

Tecnologia relacionada de contêineres:

Estas são outras tecnologias de contêiner que o Linux tem: OpenVZ e Linux-VServer

Itens relacionados:

por 13.01.2016 / 01:28

Tags