Elastic maintains official docker images for all components in the stack. Please refer to official documentation for these images, more specifically:
https://www.elastic.co/guide/en/elasticsearch/reference/current/docker.html
https://www.elastic.co/guide/en/kibana/current/docker.html
https://www.elastic.co/guide/en/logstash/current/docker.html
A full stack example, which installs Logstash, Beats and Elasticsearch can be found here. This deploys a full example architecture of the Elastic Stack with data provided by Logstash and Beats modules.