{"type":"log","@timestamp":"2019-01-21T08:57:51Z","tags":["status","plugin:elasticsearch@6.5.2","error"],"pid":1,"state":"red","message":"Status changed from yellow to red - Request Timeout after 3000ms","prevState":"yellow","prevMsg":"Waiting for Elasticsearch"}

1. First use oss
FROM docker.elastic.co/elasticsearch/elasticsearch-oss:6.5.2
FROM docker.elastic.co/kibana/kibana-oss:6.5.2

So Not X-pack problem

2. Truly Problem is connect to elasticsearch failed
Even login kibana docker then ping elasticsearch docker that get response. But kibana logs always get this error message.
kibana website message “Kibana server is not ready yet”

Try to get docker elasticsearch ip, change docker kibana.yml like example:

  
#elasticsearch.url: http://elasticsearch:9200  
elasticsearch.url: http://172.19.0.2:9200  

  
docker-compose up --build  # sure image rebuild