Containers and persistent data
lwn.net
lwn.net
[1]: https://docs.joyent.com/sdc7/troubleshooting-sdc7/manatee [2]: https://github.com/joyent/manatee
EDIT: looks like volumes are (now?) persistent: https://docs.docker.com/userguide/dockervolumes/ Still don't see any advantage in using them though... Am I missing something?
I use shared directories though as well for cross compile environments and for dev work to redeploy apps without rebuilding the container.
However Docker lacks a good volume management UI, so that fact is not always clear.
To answer your question, the reason volumes are useful is that they allow you to be explicit about which part of the container's filesystem should have a lifecycle of its own, across container upgrades.
Whether that means NFS, shared volumes with some kind of cluster fs -- or something else -- I don't think some hackish ux on top of folders located at a magic path on the docker host is a particularly robust or elegant solution.
That said, if you're going to use folders mapped on the host anyway, integrating them with docker (like volumes does) seems like a good idea.
Would much prefer some sane networked system (perhaps with some optimizations for loopback/local use), possibly blessing NFS/CIFS/p9fs for file-systems, and some kind of block storage ("s3"/drbd/iscsi) for, well, block storage.
Adding to that, are there any really working implementations for 9p client/server for Linux? It looks like it should be beautiful and smell of flowers, but the reality seems a lot more half-hearted...
https://medium.com/@ramangupta/why-docker-data-containers-ar...
However it is funny to see a whole industry emerging around artificially created problems.