Following this documentation guide on creating volumes in docker 1.12 I attempted to make a global docker volume (which I heard about from here), but any information on global volumes is not present in the documentation. I am looking to make a volume, which my docker service containers can mount, that is shared between all the nodes in my docker swarm cluster. Where can I find documentation on how to do this?
I think the docs are talking about “discoverability”. There is no file sync or anything similar in swarm. That would be incredibly awesome and would solve millions of problems. I think there isn’t even a tool to migrate a volume from one node to another. What you need is a service running in multiple containers taking care of file synchronisation.
You have the answer in the link from emccode you provided: the rexray volume driver (http://emccode.com/rexray/) provides global volumes (unfortunately the current version only supports their products and VirtualBox).
We probably get more drivers with global support when docker 1.12 is released.
you can look at glusterfs cluster for global volumes
spinning this back up since I’m finally joining the forum. REX-Ray has multiple storage provider support including:
Dell EMC - ScaleIO, Isilon, XtremIO and VMAX.
Amazon - Elastic Block Storage (EBS) and Elastic File Storage (EFS) support.
Oracle VirtualBox - Develop locally using persistent volumes.
OpenStack - Support for Cinder volumes
Rackspace - Support for block devices in Rackspace
Google Compute Engine - Google Disk is the storage mechanism
Ceph - coming soon Support for Ceph’s RADOS Block Devices (RBD)
Digital Ocean - coming soon Support for Digital Ocean Block Storage attaches persistent disk to a droplet
Microsoft Azure - coming soon Use Azure Disk premium storage for I/O intensive applications.
HPE - coming soon community contributed driver
Fuse - coming soon
Anyone can create a storage driver for REX-Ray as well. Have a look at this article Migrating a Flocker Storage Driver to REX-Ray