LINUX.ORG.RU
ФорумAdmin

Легковесные контейнеры

 , ,


1

3

У меня есть домашний сервачок, который раздает по сети фото, видео, музыку. На нем стоял арч и в течении трех лет все было отлично, пока я не обновила его находясь в отпуске (да, глупый поступок). На связь он уже не вышел. Теперь думаю сменить его на что-то более стабильное: centos или debian.

Еще одна проблема, которую я хотела бы решить. Пока я пыталась подобрать софт, мной были установлены и удалены plex, ampache, subsonic и еще куча софта. Что-то не тянуло необходимые зависимости, их я доустанавливала сама, а после удаления основного пакета, оставались эти потерянные зависимости и прочие потроха в виде конфигов.

Посоветуйте инструмент, для создания контейнеров, в рамках которых можно было бы гадить зависимостями, пакетами, конфигами и прочим, но при удалении контейнера, чтобы сама система оставалось девственно чистой. VirtualBox - слишком жирно, хотелось бы, чтобы ядро, окружение, уже установленные в системе пакеты расшаривались между контейнерами, а сами контейнеры были изолированы между друг другом.

Ну и какой дистрибутив лучше подойдет под это дело: centos или debian. Другие не рассматриваю, потому что мне кажется эти два достаточно хороши, чтобы не обращать внимание на другие.


Ну и какой дистрибутив лучше подойдет под это дело: centos или debian.

Я использую debian, но это просто потому что мне deb привычнее rpm. Для подобной задачи - это дело вкуса.

Из контейнеров я бы порекомендовал LXC.

shell-script ★★★★★
()

Debian...

plex, ampache, subsonic

...и Docker. 99%, что для нужного тебе софта есть готовый докер.

anonymous
()

SmartOS

А в ней Lx-контейнеры с (CentOS|Ubuntu)

Minona ★★☆
()

NixOS. Там и со стабильностью проблем нет, и контейнеры легковесные имеются.

Deleted
()

пользуюсь systemd-nspawn. Ядро общее по определению контейнеров, пакеты и т.п. можно расшаривать с помощью маунтов overlayfs и снапшотов btrfs.

ОС - centos, родная для systemd.

Docker не нравится ориентацией на мелкие stateless контейнеры (это хорошо в продакшне, но не на домашнем ПК) и тем, что там продублирована куча функционала, из коробки присутствующего в системе

anonymous
()

Docker - стандарт де-факто.

Kroz ★★★★★
()
Ответ на: комментарий от anonymous

но не на домашнем ПК

Почему?

anonymous
()

Посоветуйте инструмент, для создания контейнеров, в рамках которых можно было бы гадить зависимостями, пакетами, конфигами и прочим, но при удалении контейнера, чтобы сама система оставалось девственно чистой

lxc

slowpony ★★★★★
()

Год назад обращался к ЛОРУ с тем же вопросом, получит ответ LXC. Поставил, понравилось, рекомендую.

Nicholass ★★★
()

оверлейфс и чрут, думаю, вполне могут решить задачу со «срать в системе, а потом одной кнопкой удалить»

veyayawet
()

после удаления основного пакета, оставались эти потерянные зависимости и прочие потроха в виде конфигов.

чтобы сама система оставалось девственно чистой.

чтобы ядро, окружение, уже установленные в системе пакеты расшаривались

NixOS уже советовали?

t184256 ★★★★★
()

для какой-нибудь ерунды можно systemd-nspawn. debootstrap в директорию и запускай.
lxc простое только на первый взгляд, шаг в сторону — расстрел. но дефолт там работает отлично.
докер вообще нахер надо домой тащить, где дома вообще стейтлес? вот где?

system-root ★★★★★
()
Ответ на: комментарий от Nicholass

Год назад обращался к ЛОРУ с тем же вопросом, получит ответ LXC. Поставил, понравилось, рекомендую.

Много где пишут о том, что пока сырой продукт, контейнеры виснут при попытке получить состояние. Не сталкивались с проблемами?

totik
() автор топика

Пока я пыталась подобрать софт, мной были установлены

Я для этих целей использую докер, есть уже готовые образы с базами данных, торрентами и многим другим. Например я так nas настроил, вначале на основной системе развернул все что нужно, написал конфиг для docker-componse, а затем на своем сервере все развернул исполнением написанного конфига. В процессе поисков тестировал в контейнерах owncloud, nextcloude, mariadb, по окончанию работы с контейнером удаляется он и исходный образ.

anonymous
()

Ну и какой дистрибутив лучше подойдет под это дело: centos или debian. Другие не рассматриваю, потому что мне кажется эти два достаточно хороши, чтобы не обращать внимание на другие.

Напрасно.

iZEN ★★★★★
()

Рекомендую systemd-nspawn. Он, может, не так легок в использовании, по сравнению с docker, но удобен, и может запускать контейнер с файловой системой хоста, записывая изменения в overlayfs.

ValdikSS ★★★★★
()

Alpine + Docker, Ubuntu Server + LXD / Docker. Ставь тока самое свежее из docker реп.

menangen ★★★★★
()
Последнее исправление: menangen (всего исправлений: 1)
Ответ на: комментарий от totik

бывала проблема - хром зависал в контейнере и вешалось все. Но, я так и не понял откуда растут ноги. Я грешу на хром, потому что другие контейнера ни разу не висли.

Nicholass ★★★
()
Ответ на: комментарий от totik

В 2018 году неактуально. Реально много проблем приходит при попытке изоляции GUI-приложений — из таких уж жутких костылей скучен линукс. Но для серверного применения, различные сервисы изолировать, или сборку чего-либо, в общем, что захочется — идеально. Имел лишь проблему на CentOS 7, там какой-то мутный сигнал systemd не был реализован (в самой системе), и контейнеры приходилось не «выключать», а «убивать» (это просто отдельный ключ в команде), а так всё работает.

anonymous
()
Ответ на: комментарий от anonymous

А, ну ещё — следует после разворачивания первого контейнера посмотреть логи внутри него. На Arch нужно было выключать сервисы tty, поскольку постоянно срали в логи и насиловали диск. Но это не проблема LXC, а поведение systemd в контейнере.

anonymous
()
Ответ на: комментарий от anonymous

Реально много проблем приходит при попытке изоляции GUI-приложений — из таких уж жутких костылей скучен линукс.

Запускаю все игры (включая виндовые через Playonlinux) исключительно через firejail, никаких проблем не было. Если уж игры (которые вообще везде кривые, а под линуксом особенно) работают, то остальное уж точно.

anonymous
()
Ответ на: комментарий от anonymous

firejail и LXC — вещи разного уровня. Но firejail тоже годная штука, и много бесполезного траха со всякими auth-файлами иксов и прочего скрывает под собой. Но когда всерьёз берёшься за нормальные контейнеры — становится очень запарно, особенно если детать по уму, с userns и прочим, а не как получится.

anonymous
()
Ответ на: комментарий от anonymous

firejail и LXC — вещи разного уровня

Да, но на практике уровень изоляции схожий. Да и LXC не предназначен для заворачивания графики, хотя и можно при желании.

Но когда всерьёз берёшься за нормальные контейнеры — становится очень запарно, особенно если детать по уму, с userns и прочим, а не как получится.

Использую Proxmox и не парюсь :)

anonymous
()

Из рабочих заметок, типично и каждый день. Да системды, но жизнь такова, надо ехать, а не шашечки ))

mkdir web-server

debootstrap --arch=amd64 buster web-server http://ftp.ru.debian.org/debian ;

chroot web-server /bin/bash -c "echo -e 'root:root' | chpasswd";
chroot web-server /bin/bash -c "apt install nginx";

systemd-nspawn -b -D./web-server;

Deleted
()

Docker + CoreOS например или Debian/Ubuntu, у Docker помимо стабильности есть еще большие плюсы, как инфраструктура.

BartMan
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.