Now it seems that the nodes are able to talk with each other, but are returning the container IP.
It seems that you the network.publish_host is need indeed, but also the network.host.
Try to use this in the yaml files:
  - network.host=0.0.0.0
  - network.publish_host=host-ip-address
It seems to have worked on this simular post.