How to use shared storage for all nodes in docker swarm cluster
step 1. install sshfs on all docker nodes
docker plugin install --grant-all-permissions vieux/sshfs
step 2. on the shared storage server, make a shared directory
mkdir /home/shared
mkdir /home/shared/data
step 3. on the docker master node, create the ssh volume
create new volume
docker volume create --driver vieux/sshfs -o sshcmd='[email protected]:/home/shared/data' -o password='123456A@a' ex_shared_volume
verify docker volumes
docker volume ls
step 4. create a service that will use created volume
pull sample static site image, on each docker nodes
docker pull dockersamples/static-site
create docker service
docker service create --replicas=2 --name ex_shared_storage --mount volume-driver=vieux/sshfs,source=ex_shared_volume,destination=/usr/share/nginx/html,volume-opt=sshcmd='[email protected]:/home/shared/data',volume-opt=password='123456A@a' dockersamples/static-site
step 5. verify shared volume
create a file on shared storage server
create a file on any docker node