Comments 4
Это, пожалуй, самая продвинутая и лёгкая в использовании технология запуска контейнеров и виртуальных машин (в LXD 4 добавили поддержку), поддерживается даже CRIU, для живой миграции машин на другой хост.
К примеру изменения в конфигурации OpenSSL могут привести к тому, что ОС перестанет корректно запускаться.
OpenSSL это же всего лишь системная библиотека. Как её можно не правильно сконфигурировать?
контейнеры Docker — опять же предназначены для другого, на мой взгляд в них не очень удобно быстро прототипировать с применением того ПО, которое еще не упаковано в отдельные контейнеры.
Так у вас в LXC контейнеры тоже изначально пусты и туда нужно софт доставлять. Или вы что то другое имели ввиду?
OpenSSL это же всего лишь системная библиотека. Как её можно не правильно сконфигурировать?
Но у нее есть глобальный конфигурационный файл https://www.openssl.org/docs/manmaster/man5/config.html, обратите внимание на следующее предложение:
This format is used by many of the OpenSSL commands, and to initialize the libraries when used by any application.
В Ubuntu он расположен по пути /etc/ssl/openssl.cnf
Мы занимались разработкой движка (engine) для OpenSSL, я добавил его в конфигурационный для того, чтобы функционал был доступен из утилит командной строки. Естественно забыл об этом, удалил бинарную сборку и перезагрузил рабочую станцию. Точно в чем именно проявлялась проблема уже и не помню, но до графики ОС после этого не смогла загрузиться. На то, чтобы понять что проблема с конфигурацией OpenSSL, ушло некоторое время.
Так у вас в LXC контейнеры тоже изначально пусты и туда нужно софт доставлять. Или вы что то другое имели ввиду?
Контейнеры LXD включают в себя полноценную систему инициализации (systemd, init и т.д.) и рассчитаны на то, что в контейнере будет выполняться одновременно множество приложений. Благодаря этому можно запустить контейнер и достаточно быстро запустить в нем необходимое количество сервисов, входящих в состав дистрибутива. Так же можно запустить и необходимое количество собственных приложений или сервисов.
В случае с Docker потребовалось бы либо оборачивать все в контейнеры по отдельности (в том случае, если нет готовых образов), либо прибегать к костылям позволяющим запускать в контейнере Docker несколько приложений одновременно. Конечно же в том случае, если процессы разработки, внедрения и сопровождения уже интегрированы с Docker, то это не должно быть большой проблемой, но так оно не всегда.
Изоляция сред разработки с помощью контейнеров LXD