Looking for storage in docker swarm

Hi, I try to realise a swarm-cluster, and I’m looking for a specific type of storage, where the data inside a docker volume gets distributed around the cluster automatically (Everytime I spin up a new container on another node, the volume should become copied (also if something changes on one note, it should automatically change on the others so all nodes always have the same data)) is this possible? Is there a plug-in for that, or does that work out of the box?

1 Like

Here are some suggestions (your usecase is covered as well):


Thanks for your help :slight_smile: but sadly it is not the thing I was looking for :frowning: I hoped for a solution that is managed by docker itself (with a plug-in or something like that that replicates all volumes to all nodes). I already have cifs implemented, but not very satisfied with it :frowning: as it is only on the single node…

Can you elaborate the differences between Container Native Storage and your drafted solution and how Container Native Storage is not the solution you are looking for?

There will be always a Volume Plugin part, but there will be an os part (like downloading an additional command line binary) and some kernel requirements as well.

Okay I try to describe the scenario :slight_smile: I’m very new to docker swarm clusters so I’m sorry if I get something totally wrong here…I have two virtual machines…one at home with some raid storage added, and a vps. I want to launch mailu and WordPress in a failover configuration (WordPress because uptime is SEO relevant, and I always need mails ;-)). I want to have the data at home, and in the vps, because the configuration should work so, that one machine can completely die (I assumed using 2 managers would be enough, even if the downgraded functionality is enough because they have no quorum). I’ve read, that a docker-volume with it’s local driver is not swarm aware, which leads to the “phenomenon” that when I replicate a container to a different machine, it works with different data…so for example WordPress has a folder where it stores themes and config and so on…this folder has to be present on the other machine to…so I want it to work as follows (if possible): when I add a new machine to the cluster, the storage and it’s data should automatically deployed there also (maybe with some encryption possibilitys)… So I can dynamically add as many machines as I want, without hesitating to much with it’s configuration, or needing a separate connection to storage or separate.storage cluster…the data should be kept on those two machines…

I hope I could describe the use-case and I wanted to thank you for your quick reply and your help :slight_smile:

Oh, I see. Your constraints leave no feasable solution I can think of.

I am currious how your endavor will play out - especialy which of your constraints you are going to drop or modify…

Hi, do you find the solution?

Docker acquired a company called Infinit in 2016 as a solution for that particular problem, but it was never integrated into docker, and sadly never heard of again.

Now where docker swarm is capable of using CSI Volume Drivers, It could happen that the big players in the software defined storage game, add support for swarm… but it could also never happen.

Note: none of those solutions will work for remote scenarios like it was intended by the original poster. All of them require low latency network connections, due to the nature of how consensus algorithms work.