24 декабря 2023 г. Архивач восстановлен после серьёзной аварии. К сожалению, значительная часть сохранённых изображений и видео была потеряна.
Подробности случившегося. Мы призываем всех неравнодушных
помочь нам с восстановлением утраченного контента!
Так вот, что такое контейнеры и с чем их едят. Контейнер — это как chroot (запуск процесса в отдельной иерархии ФС), только с изоляцией от внешних процессов, сети, устройств и прочих ресурсов по выбору, из которого в отличие от chroot нельзя убежать. В контейнер можно засунуть как отдельные приложения с нужными им библиотеками, так и целые прыщесистемы с init'ом и демонами.
Прыщеконтейнеры применимы для:
— запуска пиписитарного зондоговна (steam, skype, кусков спермы под вайном);
— создания временных окружений, действия в которых не оставят следов в системе;
— установки софта, требующего отличного от имеющегося в дистрибутиве набора библиотек;
— установки софта со большим набором зависимостей, который не хочется ставить в основную систему;
— создания переносимых окружений;
— тестирования работы софта в других дистрибутивах;
— других задач, для которых традиционно использовались гипервизоры и виртуальные машины (не всех, конечно — иногда эмуляция железа нужна).
Создание новых контейнеров с целыми ОС за счёт технологии CoW (copy on write) занимает доли секунды и минимум места на диске, их запуск — ровно столько оперативки, сколько нужно запущенным процессам. По сравнению с виртуальными машиными это огромная экономия.
Реализации прыщеконтейнеров:
— OpenVZ: давно используется на вебхостингах, требует модификации ядра;
— LXC;
— Docker: фреймворк для манипуляции типовыми контейнерами, позволяет скриптовать их создание;
— systemd-nspawn: контейнеры для тестирования окружений, полную изоляцию не обеспечивают.
При запуске зондоговна с GUI следует иметь в виду, что в X11 разграничение доступа реализовано чуть менее чем никак, и для изоляции надо использовать либо отдельный X-сервер, либо Wayland.
Почитать:
— https://linuxcontainers.org/lxc/getting-started/
— https://docs.docker.com/engine/userguide/basics/
— http://www.freedesktop.org/software/systemd/man/systemd-nspawn.html
— http://www.freedesktop.org/software/systemd/man/machinectl.html