В Thu, 11 Oct 2018 01:29:09 +0300 Oleksandr Gavenko <gaven...@gmail.com> пишет:
> Всевозможные User-mode Linux, OpenVZ, Xen и т.д. я пропустил. Его > нужно было либо на голом железе крутить или с особыми ядрами. В общем > VistualBox можно кликать, экономя время и мозги. > Правильно поставленный вопрос - это больше половины ответа. У докера есть своя область применения, у LXC-своя. А есть вещи (вроде того же запуска skype) для которых LXC - это избыточно тяжеловесное решение, и надо испольовать что-то типа firejail или chroot. К сожалению, из огромного письма, перечисляющего разные свойства технологий (в которые почему-то вместе с технологиями изоляции и виртуализации попали технологии массового управления системами - ansible и CFEngine) я так и не понял чего хочется получить. Кроме того я не понял в чем сложности с настройкой бриджа-то? Вещь исключительно простая и прямолинейная. Итак, что может хотеться получить: 1. Обеспечить работу недоверенных приложений, возможно нескольких взаимодействующих, возможно предъявляющих несовместимые требования к операционным системам, в которых развернуты. Под эту задачу создавался докер. И ее худо-бедно решает. В смысле как только в список несовместимых требований попадает "это приложение у нас 32-разрядное", становится худо. При этом надо понимать, что если вы ходите что-то серьезное хостить, то "сэкономить время и мозги" не получится. Придется достигать глубокого понимания как работает докер (а он заметно overengineered), как решать проблемы, которые он не решает (например защиту данных от несанкционированного изменения при взломе приложения, которое вообще-то имеет право в эти данные писать). Решение на базе LXC или LXC+Ansible здесь может оказаться проще потому что не надо приноравливаться к тому как сделали разработчики докера, а можно сделать как кажется нужным в конкретной ситуации. LXC-низкоуровневый конструктор, этим и плох, этим и хорош. 2. Обеспечить разработку и тестирование программы на возможно широком спектре дистрибутивов Linux при ограниченных аппаратных ресурсах. Вот здесь, на мой взгляд, LXC гораздо лучше. Хотя на практике часть тестовых систем все равно приходится держать в KVM, несмотря на его более высокий оверхед поскольку необходимо бывает тестироваться с их родными ядрами. Какой-нибудь Oracle Linux unbreakable kernel или Astra Smolensk с ее мандатным доступом. 3. То же что и 2, но поддерживаемых линуксов меньше десятка, а основной упор в переносимости надо делать на системы с другими ядрами. Тогда проще не париться и все держать в KVM/VirtualBox/VMWare. Необходимость менеджить две системы изоляции/виртуализации обойтется дороже, чем оверхед от загоняния в виртуальную машину того, что могло бы жить в контейнере. 4. Поиграться с готовыми образами систем/приложений. Вот тут докер вне конкуренции. Потому что у него есть DockerHub где этих образов море. Хотя тут уже надо смотреть в сторону убунтовских snap. Видимо, в ubuntu эту технологию стали развивать когда уткнулись в ограничения докера. -- Victor Wagner <vi...@wagner.pp.ru>