[Lxc-users] Sharing container rootfs
Serge Hallyn
serge.hallyn at ubuntu.com
Mon Jun 10 13:48:58 UTC 2013
Quoting Michael H. Warfield (mhw at WittsEnd.com):
> On Fri, 2013-06-07 at 08:45 +0000, Purcareata Bogdan-B43198 wrote:
...
> I use to do something similar a lot under the old linux-vservers project
> (now defunct for several years - mailing list is now dead). They used a
> COW (Copy On Write) system to maintain a common READ ONLY root system
> and per-vserver modified layers of changes each server made while
> running. It was quite a nice feature.
>
> In theory, this is the idea of using a rootfs image with a unionfs rw
> layer on top of that for the running container. That way, you only have
> one copy of a binary on disk and only one copy of the shared executable
> code in memory, yet the containers all have unique modifiable root file
> systems. So it works in principle. Implementation can be another
> matter.
>
> I think I recall having done this with OpenVZ (after linux-vserver
> failed in ongoing IPv6 support forced me over to OpenVZ) but that also
> would have been a long time ago. More recently (but still more than a
> year ago) I tried the same technique using unionfs with LXC which failed
> horribly. Functionally, it should appear to be similar to a bind mount
> but bind mounts are currently problematical with some of the hacks we've
> had to implement to work around systemd conventions. I haven't tried it
> in well over a year. I suppose I should try that again. Maybe it would
> work now...
This is (IIUC) what lxc-start-ephemeral is meant to do - and also what
'lxc-clone -B overlayfs -o containerbase -n containerA' is meant for, where
containerbase is a canonical, directory-backed container which all other
containers are based upon, and containerA becomes a usable container
with an overlayfs or aufs write layer mounted over containerbase's
readonly rootfs.
It's how both docker and https://github.com/hallyn/lxc-snap provide
incremental container image development.
-serge
More information about the lxc-users
mailing list