This is how to install portainer on the swarm you created using this gist note this should work on non-swarm installs too!
Download the portain stack yaml that will do this for you
curl -L https://downloads.portainer.io/ce2-17/portainer-agent-stack.yml -o portainer-agent-stack.yml
now run it
sudo docker stack deploy -c portainer-agent-stack.yml portainer
this will create a single portainer container that runs on the management node and deploy the agent to all worker nodes, once complete you can now access portainer at http://docker-host-ip:9000 and define your admin users etc
You now have a fully function docker swarm with portainer and can deploy containers, stacks or templates.
How to use portainer is beyond the scope of this gist
This is the portainer install doc at time of writing for reference but the instructions above will work just fine
IF you mounting the filesystem at boot if so you need to make sure fstab doesn't try and mount them utill the network AND the ceph/glsuter services are full up and operational (not just started)
this will require you mess with service dependencies...
consider running a scripted mount command instead of relying on fstab
this was one reason I used the volume driver, can't recall if i modified docker service to start only once gluster was fully up
If thats not the issue maybe you have an inherent networking issue, do all your nodes have names registered in DNS and it might be worth putting all nodes in /etc/hosts - sometimes found gluster would rever to wanting to use nodename for no reason i could fathom