Elasticsearch Cluster in Docker

Planning to setup a 3 node cluster in a containerized way. Is it good to have a single VM to deploy all the three nodes and Kibana or having 3 independent VM for elasticsearch nodes ? which one is the best approach ?