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

Reply via email to