From my experience running stateful applications should be avoided with the current state of things. We've deployed ElasticSearch, Kafka etc container-less but use containers for all of our stateless services.
With plugins your volume can either live locally or on some other storage management system, like ceph, gluster, s3, etc. These are all working solutions today. `docker run -v importatndata:/var/lib/mydata --volume-driver ceph` Run that on two hosts and you get the same data.
In 1.9 there is the volume API that allows you to wire this up prior to docker run `docker volume create --driver ceph --o foo=bar --name importantdata`, then `docker run -v importantdata:/var/lib/mydata`