systemd-nspawn

systemd-nspawnの--as-pid2オプション

systemd-nspawn Advent Calendar 2017 16日目の記事です。

systemd-nspawnで-bオプションを使って通常bootする分には問題ないのですが、dockerのように必要なプロセスをPID1番として起動する場合があります。
その際、PID=1だと、SIGTERMを無視する等特別扱いされ不都合が起きる場合があります。

そういう時は--as-pid2オプションを付けましょう

systemd-nspawn -D ubuntu2/ --as-pid2

こうすると
こんな感じになります

STUBINIT
  `-bash
      `-pstree -a

--bootオプションと併用するとはできません。
PID=1がinitとして適切にシグナルをハンドリングできるように作っていないならば、毎回指定した方が無難かもしれません。

参考リンク