Hi all, Hopefully I haven't missed a recent thread on this subject, and I've picked the right list.
I've recently been using ZFS as a storage engine for docker, and am really impressed by the way I can instantly spin up a container with 50GB of database, thanks to the magic of ZFS clones. This makes my life significantly easier, as a database rollback no longer involves heavy copying, re-indexing dumps, and similar. So, kudos there. Whilst this works well for images that get built locally, sharing gets more problematic. There are a couple or related issues here, only some of which are related to ZFS, but listed here so that my chain of reasoning is clear. 1. Docker registry uses compressed tarballs containing changed files between layers. That's not too bad, as I could fairly easily hack it to extract the layers to regular directories, and generate the compressed tarballs on the fly. 2. If one big file changes (such as one row in a database table), docker registry will store the whole file in the image (which my hacked registry would be extracting to a normal tree). Whilst I could use zfs dedup, my researches indicate this is pretty memory intensive. I'd prefer a mechanism where I supply ZFS with the paths to two nearly identical files and it dedups the blocks. If this was doable while writing the derived file instead of after writing all the data to disk, that'd be even better. 3. It'd potentially be really useful to trigger ZFS snapshot/clone functionality from within a container. Whilst this is possibly more ZoL than OpenZFS, I'm assuming the main work would be a limited device driver to filter IOCTLs from within the container to the normal host driver, and this would hopefully be similar for BSD jails, Linux containers. An alternative to 1&2 would potentially be to teach docker and docker-registry to negotiate zfs send/recv, but that's a much steeper learning curve for me. Has anyone given consideration to these issues/use case before, and either way, is anyone interested in collaboration? Best wishes, Phil Lello ------------------------------------------- openzfs-developer Archives: https://www.listbox.com/member/archive/274414/=now RSS Feed: https://www.listbox.com/member/archive/rss/274414/28015062-cce53afa Modify Your Subscription: https://www.listbox.com/member/?member_id=28015062&id_secret=28015062-f966d51c Powered by Listbox: http://www.listbox.com
