LXC — дедушка докера

linuxcontainers.org

В начале был Linux, а за ним — контейнеры, и только после них Docker, Kubernetes, Podman и другие. Контейнеры были на Linux еще до того, как это стало мейнстримом, и LXC (Linux Containers) — встроенный в ядро Linux функционал для виртуализации приложений с изолированным от ОС программным окружением.

Ранние версии Докера даже использовали LXC в качестве драйвера для работы с контейнерами. В отличие от других систем виртуализации, LXC лучше интегрирован с Linux и позволяет вносить изменения в контейнеры на лету, без их перезапуска (идеально для сетевых приложений), таким образом создавая максимальное близкое к ОС окружение для приложения.

📌 Детали

  • открытый исходный код на Си
  • разработка коммерческих (IBM, Google) и некоммерческих организаций (Фонд Linux), без рекламы и отслеживания
  • доступен в стандартных репозиториях большинства дистрибутивов (имя пакета со всем необходимым: lxc) с ядром 2.6.32+ и любой архитектурой с рабочим компилятором Си
  • умеет управлять контейнерами Docker
  • бинды (связки) с Go, Lua, Python, Haskell и Ruby для API
  • каждый контейнер имеет свои IP-адрес и порты (как –network=host в Docker, только без дыр в файрволе)
  • не требует запуска от рута (ядро 3.12+)
  • сообщество на форуме в IRC (на libera.chat)
  • классическая для никсов документация (онлайн-версия мана, но оглавление почему-то в конце страниц)

ИМХО:  Это что-то среднее между Docker/Podman и виртуальными машинами — взаимодействие с основной ОС проще, чем на докере, но настолько возможностей работы с железом, чтобы заменить ВМ.

Свежее