Минимальный контейнер system-nspawn для изоляции дерева процессов со встроенными приложениями

Можно ли использовать nspawn для одного исполняемого файла? Моя цель – просто изолировать дерево процессов приложения, а не переносимость.

Предположим, вы написали приложение на C, созданном для вашей целевой платформы. Сегодня я могу запустить это как сервис systemd через конфигурацию через файл unitd. Есть ли способ сделать минимальный «контейнер» nspawn для моего приложения? Все прочитанные статьи показывают, что nspawn требует debianbootstrap, который в конечном итоге составляет почти 300 мб файлов. Если я не забочусь о переносимости, есть ли другой способ использовать функции изоляции дерева процессов nspawn?

  • Как определить, работает ли система внутри контейнера systemd-nspawn?
  • Могу ли я получить DHCP-адрес из контейнера через DHCP-сервер, на котором находится хост?
  • Как восстановить правильное владение в контейнерах nspawn после обновления?
  • Как перезапустить контейнер systemd-nspawn после того, как гость выдает команду перезагрузки?
  • Установка языкового стандарта в контейнере systemd-nswnwn (debian jessie)
  • Как создать контейнер systemd-nspawn?
  • Почему nspawn изображения ubuntu не удается?
  • Как открыть каталог в контейнере?
  • One Solution collect form web for “Минимальный контейнер system-nspawn для изоляции дерева процессов со встроенными приложениями”

    Прочитали ли вы страницу руководства systemd-nspawn ? Ничто там не говорит, что вам требуется debianbootstrap, и на самом деле он показывает несколько не-debian примеров.

    Вы создаете корневую файловую систему, но точно так же, как контейнер Docker (или даже традиционная среда chroot ), которая не требует ничего больше, чем ваш исполняемый файл и любые общие библиотеки или другие ресурсы, необходимые для его запуска.

    Если вы просто хотите изолировать дерево процессов, возможно, вместо systemd-nspawn вы хотите unshare :

     # unshare --pid --fork --mount-proc bash # ps -fe UID PID PPID C STIME TTY TIME CMD root 1 0 4 09:49 pts/0 00:00:00 bash root 24 1 0 09:49 pts/0 00:00:00 ps -fe 
    Linux и Unix - лучшая ОС в мире.