For Cassandra, the current docker volume plugin such as folcker, rexray, etc, could not help, as they could not setup the membership among Cassandra members. azaars’s solution is a reasonable way to setup Cassandra on Docker Swarm. While, if the node goes down, one Cassandra member will disappear. You would need additional work to bring up another node, and join the current Cassandra cluster. Cassandra will then recover data automatically.
FireCamp is a recent open source project aims to automate the installation and management of the stateful services, including Cassandra, on Docker Swarm. While, currently it only supports installing the stateful services for Docker Swarm on AWS. Hope it could help your case.