192.168.61.112 log
es01 | {"type": "server", "timestamp": "2021-01-26T09:49:15,220Z", "level": "WARN", "component": "o.e.c.c.ClusterFormationFailureHelper", "cluster.name": "es-cluster", "node.name": "es01", "message": "master not discovered or elected yet, an election requires at least 2 nodes with ids from [bYUUn1SOTpmtXK3NcjEuCw, RKYlzwmcSyyK3YoV8T5YJw, ru42fueKTYWDuaUhgGkXuQ], have discovered [{es01}{ru42fueKTYWDuaUhgGkXuQ}{0ASYKum3Sd6P2uWrQbk8uw}{192.168.61.112}{192.168.61.112:9300}{cdhilmrstw}{ml.machine_memory=2933927936, xpack.installed=true, transform.node=true, ml.max_open_jobs=20}, {es02}{mRFp_9x1T4ea_2KHEUzdyQ}{fT8zs_b-SrSRi4Zvum4q0Q}{192.168.61.113}{192.168.61.113:9300}{cdhilmrstw}{ml.machine_memory=2933932032, ml.max_open_jobs=20, xpack.installed=true, transform.node=true}, {es03}{QhLl9zbgQt6mQku_yLTqNw}{4U29XGKSQHuayMfLpjH8xw}{192.168.61.114}{192.168.61.114:9300}{cdhilmrstw}{ml.machine_memory=2933927936, ml.max_open_jobs=20, xpack.installed=true, transform.node=true}] which is not a quorum; discovery will continue using [192.168.61.113:9300, 192.168.61.114:9300] from hosts providers and [{es01}{ru42fueKTYWDuaUhgGkXuQ}{0ASYKum3Sd6P2uWrQbk8uw}{192.168.61.112}{192.168.61.112:9300}{cdhilmrstw}{ml.machine_memory=2933927936, xpack.installed=true, transform.node=true, ml.max_open_jobs=20}] from last-known cluster state; node term 2, last-accepted version 58 in term 2" }
192.168.61.113 log
es02 | {"type": "server", "timestamp": "2021-01-26T09:50:08,093Z", "level": "WARN", "component": "o.e.c.c.ClusterFormationFailureHelper", "cluster.name": "es-cluster", "node.name": "es02", "message": "master not discovered or elected yet, an election requires 2 nodes with ids [ru42fueKTYWDuaUhgGkXuQ, mRFp_9x1T4ea_2KHEUzdyQ], have discovered [{es02}{mRFp_9x1T4ea_2KHEUzdyQ}{fT8zs_b-SrSRi4Zvum4q0Q}{192.168.61.113}{192.168.61.113:9300}{cdhilmrstw}{ml.machine_memory=2933932032, xpack.installed=true, transform.node=true, ml.max_open_jobs=20}, {es01}{ru42fueKTYWDuaUhgGkXuQ}{0ASYKum3Sd6P2uWrQbk8uw}{192.168.61.112}{192.168.61.112:9300}{cdhilmrstw}{ml.machine_memory=2933927936, ml.max_open_jobs=20, xpack.installed=true, transform.node=true}, {es03}{QhLl9zbgQt6mQku_yLTqNw}{4U29XGKSQHuayMfLpjH8xw}{192.168.61.114}{192.168.61.114:9300}{cdhilmrstw}{ml.machine_memory=2933927936, ml.max_open_jobs=20, xpack.installed=true, transform.node=true}] which is a quorum; discovery will continue using [192.168.61.112:9300, 192.168.61.114:9300] from hosts providers and [{es02}{mRFp_9x1T4ea_2KHEUzdyQ}{fT8zs_b-SrSRi4Zvum4q0Q}{192.168.61.113}{192.168.61.113:9300}{cdhilmrstw}{ml.machine_memory=2933932032, xpack.installed=true, transform.node=true, ml.max_open_jobs=20}] from last-known cluster state; node term 0, last-accepted version 0 in term 0" }
192.168.61.114 log
es03 | {"type": "server", "timestamp": "2021-01-26T09:50:16,411Z", "level": "WARN", "component": "o.e.c.c.ClusterFormationFailureHelper", "cluster.name": "es-cluster", "node.name": "es03", "message": "master not discovered or elected yet, an election requires 2 nodes with ids [QhLl9zbgQt6mQku_yLTqNw, ru42fueKTYWDuaUhgGkXuQ], have discovered [{es03}{QhLl9zbgQt6mQku_yLTqNw}{4U29XGKSQHuayMfLpjH8xw}{192.168.61.114}{192.168.61.114:9300}{cdhilmrstw}{ml.machine_memory=2933927936, xpack.installed=true, transform.node=true, ml.max_open_jobs=20}, {es01}{ru42fueKTYWDuaUhgGkXuQ}{0ASYKum3Sd6P2uWrQbk8uw}{192.168.61.112}{192.168.61.112:9300}{cdhilmrstw}{ml.machine_memory=2933927936, ml.max_open_jobs=20, xpack.installed=true, transform.node=true}, {es02}{mRFp_9x1T4ea_2KHEUzdyQ}{fT8zs_b-SrSRi4Zvum4q0Q}{192.168.61.113}{192.168.61.113:9300}{cdhilmrstw}{ml.machine_memory=2933932032, ml.max_open_jobs=20, xpack.installed=true, transform.node=true}] which is a quorum; discovery will continue using [192.168.61.112:9300, 192.168.61.113:9300] from hosts providers and [{es03}{QhLl9zbgQt6mQku_yLTqNw}{4U29XGKSQHuayMfLpjH8xw}{192.168.61.114}{192.168.61.114:9300}{cdhilmrstw}{ml.machine_memory=2933927936, xpack.installed=true, transform.node=true, ml.max_open_jobs=20}] from last-known cluster state; node term 0, last-accepted version 0 in term 0" }
the final question , i know https://www.elastic.co/guide/en/elasticsearch/reference/current/docker.html#docker-compose-file OK , but how can i replace it with three different host(IP)