Моя цель - запустить исполнение кода в полностью изолированном окружении.
Я хочу выполнить, например, команду python main.py и быть уверенным в том, что запустившийся процесс будет
а) Ограничен по памяти, процессору, i/o (cgroups)
б) Не будет иметь доступа в интернет.
в) Не сможет никуда ничего записать.
г) Не сможет получить рута, не сможет ничего знать о других процессах
Я знаю про docker и похожие технологии, но я хочу запускать именно с хоста, без накладных расходов на docker run и тп.
Я изобретаю велосипед или не нашел подходящего решения?
нет. систем изолирования процессов, начиная с chroot, до пупа и больше, и все разного уровня отвязки процесса от системы/железа, надо изучать и подбирать.
тебе вполне может хватить и systemd-nspawn.
Может вам подойдут LXC контейнеры? на базе которых раньше и строились докер-контейнеры
Видел работу напрямую с ними в одной из компаний для стендов (и прода в т.ч)
Если вас смущает, что поднимается на ядре еще одна ОС, то можно поднимать без нее, собирая Docker from scratch — абсолютно пустой image без ничего... и например в нем поднимать свой статический бинарь (например на Golang или на C++) https://habr.com/ru/post/460535/