my elasticsearchdocker container shows "unhealthy status" on ec2 ubuntu
1e6908aa941e docker.elastic.co/elasticsearch/elasticsearch:8.3.2 "/bin/tini -- /usr/l…" 7 weeks ago Up 7 weeks (unhealthy) 9200/tcp, 9300/tcp elk_es03_1
c666fe1bf58f docker.elastic.co/elasticsearch/elasticsearch:8.3.2 "/bin/tini -- /usr/l…" 7 weeks ago Up 23 hours (unhealthy) 9200/tcp, 9300/tcp elk_es02_1
6032fbeb6e22 docker.elastic.co/elasticsearch/elasticsearch:8.3.2 "/bin/tini -- /usr/l…" 7 weeks ago Up 23 hours (unhealthy) 0.0.0.0:9200->9200/tcp, :::9200->9200/tcp, 9300/tcp elk_es01_1
8e6939939440 docker.elastic.co/elasticsearch/elasticsearch:8.3.2 "/bin/tini -- /usr/l…" 7 weeks ago Up 7 weeks (healthy) 9200/tcp, 9300/tcp elk_setup_1
but when I run GET _cat/health?v
GET _cluster/health
GET _cat/nodes?v
it shows green
❯ curl -XGET "1.1.1.1:9200/_cluster/health"
{"cluster_name":"docker-cluster","status":"green","timed_out":false,"number_of_nodes":3,"number_of_data_nodes":3,"active_primary_shards":24,"active_shards":48,"relocating_shards":0,"initializing_shards":0,"unassigned_shards":0,"delayed_unassigned_shards":0,"number_of_pending_tasks":0,"number_of_in_flight_fetch":0,"task_max_waiting_in_queue_millis":0,"active_shards_percent_as_number":100.0}%
curl -XGET "1.1.1.1:9200/_cat/nodes?v"
ip heap.percent ram.percent cpu load_1m load_5m load_15m node.role master name
...... 26 100 5 0.23 0.23 0.25 cdfhilmrstw - es03
...... 27 100 5 0.23 0.23 0.25 cdfhilmrstw - es01
...... 66 100 5 0.23 0.23 0.25 cdfhilmrstw * es02
the container still shows "unhealthy" status and elasticsearch got exited once.
how can I recover the container health status?