Что добавляет Docker в lxc-tools (инструменты LXC для пользовательского пространства)?



Answers

Давайте рассмотрим список технических характеристик Docker и проверьте, какие из них предоставляются LXC, а какие нет.

Особенности:

1) Изоляция файловой системы : каждый контейнер процесса работает в полностью отдельной корневой файловой системе.

Предоставляется простой LXC.

2) Изоляция ресурсов : системные ресурсы, такие как процессор и память, могут быть распределены по-разному для каждого контейнера процесса, используя группы.

Предоставляется простой LXC.

3) Изоляция сети : каждый контейнер процесса работает в своем собственном пространстве имен, с виртуальным интерфейсом и собственным IP-адресом.

Предоставляется простой LXC.

4) Copy-on-write : корневые файловые системы создаются с использованием copy-on-write, что делает развертывание чрезвычайно быстрым, дешевым и дешевым.

Это обеспечивается AUFS, файловой системой union, от которой зависит Docker. Вы можете самостоятельно настроить AUFS вручную с помощью LXC, но Docker использует его как стандарт.

5) Ведение журнала : стандартные потоки (stdout / stderr / stdin) каждого контейнера процесса собираются и регистрируются для поиска в режиме реального времени или партии.

Докер обеспечивает это.

6) Управление изменениями: изменения в файловой системе контейнера можно перенести в новое изображение и повторно использовать для создания большего количества контейнеров. Не требуется настройка шаблонов или вручную.

«Templating or manual configuration» - это ссылка на LXC, где вам нужно будет узнать обо всех этих вещах. Docker позволяет обрабатывать контейнеры таким образом, чтобы вы использовали для обработки виртуальных машин, не узнавая о конфигурации LXC.

7) Интерактивная оболочка : докер может выделять псевдо-tty и присоединяться к стандартным входам любого контейнера, например, для запуска интерактивной оболочки с откидыванием.

LXC уже предоставляет это.

Я только начал изучать LXC и Docker, поэтому я бы приветствовал любые исправления или лучшие ответы.

Question

Если вы посмотрите на функции Docker, большинство из них уже предоставлено LXC.

Итак, что добавляет Докер? Почему я должен использовать Docker над обычным LXC?




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

Кроме того, Docker Hub - это хороший реестр с тысячами общедоступных образов, где вы можете найти изображения, в которых установлены ОС и другие программные средства. Таким образом, вы можете получить неплохой начальный старт для своего приложения.






Related



Tags

docker docker   lxc