Hi Janusz and welcome!
I'd suggest looking at these docs, particularly the section on binding and publishing to understand better how Elasticsearch needs its network to be configured. Basically it looks like your nodes are not accessible at their transport publish addresses. It can be tricky to get everything lined up correctly in Docker since it all depends on exactly how your environment is configured.
In particular the followup connection failed
message indicates that node es01
is accessible at 172.18.0.1:19300
, but it thinks its address is 172.23.0.3:9300
and it is not accessible at this address. You either need to make it accessible at that address, or else adjust its publish address to one at which it is accessible.