Hmm … Let me try to explain my previous question. For now LXD by default uses “pre-built” images (with slight customization for running in containers). Except that, you can also build your own image, import it and launch container based on that image. So, now you can use what you given already or you can built your own containers for your specific requirements.
In previous questions I was wondering about second scenario. For now LXD doesn’t have any layered filesystems (aufs, overlay, etc) to offer and there is huge question about containers size on disk. Partially it could be solved by using of BTRFS or ZFS, but system-in-container still has some big weight. And we’re trying to minimize it by removing some extra software from default images. It lead us to ~300Mb per image and only 4-5 running extra processes in containers (mostly upstart/systemd and their dependecies).
So, that’s about our goal. We’re trying to minimize LXC images and run them under LXD to reduce overhead in resources (import/export images, CPU on compress/uncompress, disk usage, etc). And also to reduce number of running “extra” processes inside of same containers.
By reading changelog for LXC 3.0 i saw an opporutunity to reduce images+containers even more by replacing upstart/systemd with your minimal-init. But, i guess, there could be some mandatory behavior or strict requirements, that LXD expects from underlying container and its content.
For example LXD currently expects, that init-process will handle SIGINT and SIGPWR (found here https://github.com/lxc/lxd/blob/master/doc/container-environment.md#pid1).
In other words - did someone already tried to do something like that? I’m just trying to estimate “does it worth to move in this direction” or someone already tried and there was a dead-end “because you can’t solve this problem/limitation/etc …”.
I hope, i explained my question well enough this time.
PS: And yes, i know, that all of that looks like we’re trying to build Docker from LXC/LXD