В чем разница между Docker, LXD и LXC [закрыто]

164

В чем разница между Docker, LXD и LXC. Они предлагают одинаковые услуги или разные.

Иджаз Ахмад Хан
источник
1
Нашел этот, чтобы быть полезным. последняя и самая большая информация. people.canonical.com/~kirkland/...
Ijaz Ахмад Хан
Очень хорошее объяснение на infoworld.com/article/3204171/linux/… . Упоминалось, что Although Docker started out as an open source project to build specialized LXC, it later morphed into its own container runtime environmentбольше по ссылке
Алиреза Фаттахи

Ответы:

133

Нет, LXC, Docker и LXD не совсем одинаковы. Короче говоря:

LXC

LinuX Containers (LXC) - это метод виртуализации на уровне операционной системы для запуска нескольких изолированных систем Linux (контейнеров) на одном управляющем хосте (хосте LXC).

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

низкий уровень ...

https://linuxcontainers.org/

докер

  • Docker, Inc
  • контейнерная система, использующая контейнеры LXC
  • так что вы можете: Build, Ship, and Run Any App, Anywhere http://www.docker.com

LXD

Докер против LXD

  • Docker специализируется на развертывании приложений
  • LXD специализируется на развертывании (Linux) виртуальных машин

Инфографика Докер против LXD

Источник: http://linux.softpedia.com/blog/infographic-lxd-machine-containers-from-ubuntu-linux-492602.shtml

Первоначально: https://insights.ubuntu.com/2015/09/23/infographic-lxd-machine-containers-from-ubuntu/

Незначительная техническая записка

clarity123
источник
people.canonical.com/~kirkland/...
Ijaz Ахмад Хан
12
Докер не использовал LXC под капотом с 2014 года: blog.docker.com/2014/03/…
infomaniac
68

Это изображение может помочь вам понять основное различие между ними:

lxc x docker

Их объединяет то, что все эти 3 технологии связаны с контейнерами.

Контейнеры - это легкий механизм виртуализации, который не требует настройки виртуальной машины на эмуляции физического оборудования. В Linux, что они имеют в общем , является функция ядра , используемая: cgroups, namespaces(ipc, network, user, pid, mount). Они также пытаются создать более безопасные среды путем создания непривилегированных контейнеров и интеграции с такими функциями безопасности, как selinux. Эти технологии экспортируют API для лучшей интеграции с другими программами.

LXD и LXC

Эти два объединяют одну семью, где:

  • lxc : пользовательский интерфейс для функций локализации ядра Linux. Это парень, который управляет пространствами имен Kernel, профилями Apparmor и SELinux, Chroots, возможностями Kernel и прочими связанными с ядром вещами.
  • lxd : контейнер "гипервизор". Он состоит из демона (lxd), интерфейса командной строки (lxc) и плагина OpenStack. Этот парень был разработан для обеспечения большей гибкости и функциональности для lxc, хотя он все еще использует его под капотом.

По сути, автономное пользовательское пространство ОС создается с изолированной инфраструктурой. lxc более непосредственно лежит в основе функций ОС для работы в сети и хранения данных, чем Docker.

Вы создаете много виртуальных машин, у которых есть пользовательское пространство и изоляция ядра, но они не являются полными виртуальными машинами, так как они не работают с разделенными ядрами, и не паравиртуализируются по той же причине.

Canonical является главным спонсором здесь, и Oracle также инвестирует трудозатраты на эту технологию.

докер

Он имеет некоторые отличия, являясь самым крупным из них движком, который оборачивает приложения автономной файловой системой вместо базового «образа пользовательского пространства». Идея состоит в том, чтобы содержать приложение и базовое изображение, чтобы создать впечатление, что приложение представляет собой единый процесс внутри движка. Docker использовал технологию lxc в качестве базового для связи с ядром, но сегодня он использует свою собственную библиотеку libcontainer .

Файловая система является абстракцией Docker, в то время как lxc напрямую использует функции файловой системы. Сеть также является абстракцией, в то время как с помощью lxc вы можете легко настроить IP-адреса и конфигурации маршрутизации. Некоторые сайты, похожие на App Store, поддерживаются Microsoft, Amazon, Vmware, IBM и другими игроками.

Докер. INC. Является основным спонсором здесь. Vmware также инвестирует в эту технологию.

Связанные контейнерные технологии:

Это другие контейнерные технологии, которые есть в Linux: OpenVZ и Linux-VServer.

Связанные вещи:

Люк
источник
1
people.canonical.com/~kirkland/...
Ijaz Ахмад Хан
Да уж. Это довольно новое, так как включает в себя все, что ZFS на Ubuntu Wada-Wada. И это ПРЕЗЕНТАЦИЯ. Всегда будьте внимательны к PDF-файлам или PPT-файлам, в которых есть миры, такие как «лучше, чем это», «самая быстрая технология» или «более масштабируемые, чем Y» ...
5
Я вырос скептически по отношению к продуктам, выходящим из Canonical. Они склонны рекламировать их как то, чем они могут быть, а не как то, что они есть. Часто, когда это "может быть" еще далеко.
orodbhen
Вместо использования строчного lxc, это должна быть ссылка на liblxc. А что касается инструментария, то он может ссылаться на 1.x - 3.x, где lxd (просто демон) доступен только для liblxc> = 2.0 и lxcявляется клиентской программой LXD, которая является преемницей lxc-*названного Инструменты LXC 1.x.
0xC0000022L