I know this will cost me a lot of karma, but surely this is the point that you say, lets just use a hypervisor?
yes, I know its much easier to just use docker, but at the point that you have to write a new INIT, doesn't that strike you as time you used something thats not easy anymore?
Things like "make sure we don't loose syslog" make me shudder.
Yes supposedly there is an argument that docker is faster. However as a buildeng i've seen little evidence of that.
We use VMware with throwaway build disks. This means that a Dev can destroy a machine, once rebooted its back to a known default state.
the best part is that we have collectd on the vmware host, and the in the guest to collect metrics on CPU, mem and IO.
Because we have decent disks, and lots of memory, we don't hit any limitations. For heavy build we have NFS root'd servers with non persistant disks. much faster, and requires almost no thinking about.